汇总订单项

时间:2014-09-08 15:19:57

标签: sql sql-server sql-server-2005

我有一个案例,订单有一个标题是订单的摘要(没有价格细节),然后我也有一个订单行详细信息视图。所以听众显示和概述,而线条细节将列出每个项目及其价格,每行一个。 id喜欢做的是提供一个类似标题的视图,其中汇总了订单项价格。例如,该行将显示

Line Num    Price
1           450.00
2           100.00
3           100.00

所以id喜欢做的是在我的查询中将价格滚动到650.00的一个值。这是我尝试的内容,但它显示的是每个项目而不是所有价格的总和。:

Select
PURCHLINE.PURCHID, 
SUM(Purchline.PurchPrice)
FROM PURCHLINE
INNER JOIN PURCHTABLE ON PURCHTABLE.PURCHID= PURCHLINE.PURCHID 
where PURCHLINE.PURCHID ='192325'
group by PURCHLINE.PURCHID, 
PURCHNAME,
PurchPlacer,
PURCHTABLE.createdDate,
PURCHLINE.REMAINPURCHPHYSICAL

PURCHTABLE是标题表,而PURCHLINE是订单项

1 个答案:

答案 0 :(得分:1)

我认为你试图通过太多的领域进行分组。通常,您只能按SELECT列表中显示的字段进行分组。

问题:使用ROLLUP

Select
PURCHLINE.PURCHID, 
SUM(Purchline.PurchPrice)
FROM PURCHLINE
INNER JOIN PURCHTABLE ON PURCHTABLE.PURCHID= PURCHLINE.PURCHID 
where PURCHLINE.PURCHID ='192325'
group by PURCHLINE.PURCHID WITH ROLLUP

编辑: OP表明他正在使用SQL Server 2005.为此,请使用GROUP BY ... WITH ROLLUP。请注意,WITH ROLLUP被Microsoft标记为已过时,可能会在SQL Server的未来版本中删除。这是MSDN article