Выберите каждый 2-й, 4-й ряд и т. Д. Из того же столбца на основе конкретного материала - PullRequest
0 голосов
/ 28 сентября 2018

В 1 упаковке получено 2 материала, а последовательность позиций - 00010 и 00020. Что мне нужно, если я введу материал из последовательности позиций 00010, где в операторе «CB016» я могу перечислить всю последовательность позиций 00020.

Табличные данные

Packing         ItemSeq ItemCate    Material    TargetQty   MinQty
1000009654      10      P           CB016       1            0
1000009654      20      I           10000015991 48           0
1000012548      10      P           CB016       1            0
1000012548      20      I           10000009495 48           0
1000012564      10      P           CB016       1            0
1000012564      20      I           10000009517 48           0
1000007961      10      P           CB017       1            0
1000007961      20      I           10000003423 10000        0
1000007962      10      P           CB017       1            0
1000007962      20      I           10000003424 10000        0

Ожидаемый результат

Packing         ItemSeq ItemCate    Material    TargetQty   MinQty
1000009654      20      I           10000015991 48           0
1000012548      20      I           10000009495 48           0
1000012564      20      I           10000009517 48           0

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Оконные функции здесь не требуются.Вам нужны строки 20, поскольку в одной группе есть строка 10.

SELECT *
FROM yourdata item20
WHERE ItemSeq = 20
AND EXISTS (
    SELECT 1
    FROM yourdata item10
    WHERE item10.Packing = item20.packing
    AND ItemSeq = 10
    AND Material = 'CB016' -- insert material name here
)

DB Fiddle

0 голосов
/ 28 сентября 2018

Вы можете попробовать использовать функцию row_number ():

select * from
(select *, row_number() over (partition by packing order by itemseq desc) as rn)a
where rn=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...