我一直在 asp.net 中使用 group by 和内部联接子句尝试以下查询:
SELECT tblVendorItem.Name AS Product,
tblEventItem.Quantity * tblEventItem.Price AS Sale
FROM
tblEventService
INNER JOIN tblEventItem ON
tblEventService.EventServiceID = tblEventItem.EventServiceID
INNER JOIN tblVendorItem ON
tblVendorItem.VendorItemID = tblEventItem.VendorItemID
WHERE
(tblEventService.VendorID = 2)
GROUP BY
tblVendorItem.Name, tblEventItem.Quantity, tblEventItem.Price
执行此操作时,我得到的是:
我真正想要的是,产品不应该重复,总销量应该来了!
例如:梅赛德斯75
任何人都可以帮助我吗?
我也在附加数据库:
答案 0 :(得分:1)
INNER JOIN tblEventItem ON
tblEventService.EventServiceID = tblEventItem.EventServiceID
GROUP BY
tblVendorItem.Name, tblEventItem.Quantity, tblEventItem.Price
在group by子句中,删除tblEventItem.Quantity,tblEventItem.Price。因此,您的查询应该在两个地方更改。 首先,SUM(价格*数量)和第二个:
GROUP BY
tblVendorItem.Name
原因是这样的: Group By X表示将所有具有相同X值的组合放在一组中。
按X组,Y表示将所有具有相同值的X和Y放在一组中。
Group By X表示将所有具有相同X值的组合放在一组中。
Group By X,Y,Z表示将所有具有相同值的值放在一个组中的X,Y和Z. 我希望这会有所帮助。Using group by on multiple columns 奖励! :)