конкретный выбор внутри сервера SQL - PullRequest
1 голос
/ 22 мая 2019

У меня есть таблица vbap: Для всех различных POSNR, PARVW мне нужно проверить, если POSNR = POSNR2, если это так, я выбираю KUNNR. если POSNR <> POSNR2 и POSNR2 = '00000', я выбираю KUNNR

enter image description here

Результат:

enter image description here

Я не понял, как это сделать?

1 Ответ

2 голосов
/ 22 мая 2019

Кажется, это просто 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...