我有一个案例,订单有一个标题是订单的摘要(没有价格细节),然后我也有一个订单行详细信息视图。所以听众显示和概述,而线条细节将列出每个项目及其价格,每行一个。 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是订单项
答案 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。