SQL Server中的特定选择

时间:2019-05-22 14:06:11

标签: sql sql-server

我有一个表vbap:对于所有不同的POSNR,PARVW,我需要检查POSNR = POSNR2,如果是这种情况,则选择KUNNR。如果POSNR <> POSNR2并且POSNR2 ='00000'我选择KUNNR

enter image description here

结果:

enter image description here

我不知道该怎么做?

1 个答案:

答案 0 :(得分:2)

这似乎只是where的原因:

select t.*
from t
where POSNR2 in (POSNR, '00000')

也许您正在尝试对行进行优先级排序,以每kunnr选择一行。如果是这样:

select t.*
from (select t.*,
             row_number() over (partition by parvw order by psnr2 desc) as seqnum
      from t
      where POSNR2 in (POSNR, '00000')
     ) t
where seqnum = 1;