Sql server 2005 来自purchasecost的唯一记录
我在Sql server 2005 来自purchasecost的唯一记录,sql-server-2005,Sql Server 2005,我在poitem表中有以下数据 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 100460
poitem
表中有以下数据
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
我们需要更多关于这个问题的背景知识来帮助您解决您的问题。如上述示例所示,每个项目都有不同的采购订单和不同的成本。我不想用每个项目的唯一项目成本+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