在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
答案 0 :(得分:1)
您可以尝试使用row_number()函数:
select * from
(select *, row_number() over (partition by packing order by itemseq desc) as rn)a
where rn=1
答案 1 :(得分:1)
此处不需要窗口功能。您需要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
)