2011-02-28 4 views
0

私はpoitemテーブルに次のデータを持っています。ここでpurchasecostからの一意のレコード

poitem(po_num,line,item,item_cost) 

はデータです:

po_num  line item  item_cost 
-------------------------------------------- 
P000164703 1 1004600067 300.00000000 
P000163933 2 1004600067 111.32000000 
P000163933 3 1004600067 111.32000000 
P000164700 1 1004600067 111.32000000 
P000164720 2 1004600067 151.32000000 

私はアイテムの一意のコストのために、トップ1レコードの詳細のすべてを取得したいです。例えば

1) P000164703 1 300 
2) P000163933 2 111.32 
3) P000164720 2 151.32000000 
+0

私たちはあなたの問題を解決するために、この問題に関する詳細な背景を必要としています。 –

+0

上記の例に示されているように、各項目は異なるコストで異なるpoを持っています。私はアイテムごとにユニークなitem_costを使ってPO、行、コストの詳細を調べるのを忘れました。 – Nag

答えて

1
select po_num,line,item,item_cost 
from 
(
select *, rn=row_number() over (
    partition by item, item_cost order by po_num, line) 
from poitem 
) X 
where rn=1 
+0

+1ですが、少なくとも与えられたサンプルデータの期待される結果を確実にするために 'po_num、line'によって' order 'でなければなりません。 –

+0

@Andriyありがとう - あなたは正しい – RichardTheKiwi

関連する問題