0
的一部分,我有一個表,如如何選擇這不是明顯的條款
Item Pno Code qty
item1 pn1 1 3
item1 pn2 1 3
item1 pn2 2 2
item2 pn1 1 4
item2 pn3 1 5
item3 pn2 1 3
我只需要選擇具有不同的項目,代碼和數量的行列。如果項目和代碼與具有最大(qty)的行相同,則應該被選中。
使用下面的查詢:
select x.item,pno,x.code,qty from @temp t join
(select item,code,max(qty) as quantity from @temp
group by item, code) x on t.item = x.item and t.code = x.code and t.qty = x.quantity
order by item,pno
我得到:
item1 pn1 1 3
item1 pn2 1 3
item1 pn2 2 2
item2 pn3 1 5
item3 pn2 1 3
但我真正想要的是一個基於(項目代碼,數量)
item1 pn1 1 3
item1 pn2 2 2
item2 pn3 1 5
item3 pn2 1 3
只選擇不同行
無論Pno來自哪裏,我如何根據(項目,代碼,數量)明確選擇行?
謝謝,我想你想說PARTITION BY item,qt,代碼而不是PARTITION BY item,pno,code – SPB