select owm=isnull(b.owm,'')
,a.owldm,a.omc,a.num1,a.num2
from v_table1 a
left join(
select owm,owldm=min(owldm)
from v_table1
group by owm
)b on a.owm=b.owm and a.owldm=b.owldm

解决方案 »

  1.   

    --测试--测试数据
    create table v_table1(owm varchar(10),owldm varchar(10),omc varchar(10),num1 int,num2 int)
    insert v_table1 select '204',' P01','零件1',100,0
    union  all      select '204',' P02','零件2',200,0
    union  all      select '204',' P03','零件3',100,0
    union  all      select '205',' P05','零件5',200,0
    union  all      select '205',' P06','零件6',200,0
    go--查询
    select owm=isnull(b.owm,'')
    ,a.owldm,a.omc,a.num1,a.num2
    from v_table1 a
    left join(
    select owm,owldm=min(owldm)
    from v_table1
    group by owm
    )b on a.owm=b.owm and a.owldm=b.owldm
    go--删除测试
    drop table v_table1/*--测试结果owm        owldm      omc        num1        num2        
    ---------- ---------- ---------- ----------- ----------- 
    204         P01       零件1        100         0
                P02       零件2        200         0
                P03       零件3        100         0
    205         P05       零件5        200         0
                P06       零件6        200         0(所影响的行数为 5 行)
    --*/