SQL 聚合函数或 GROUP BY 问题!

[复制链接]
查看11 | 回复1 | 2010-12-30 13:37:26 | 显示全部楼层 |阅读模式
Shopper, ShopOrder, OrderDetail, Goods --购物者、订单、订单详情、货物 (4张表)
Shopper 和 ShopOrder 一对一关系
ShopOrder 和 OrderDetail 一对多关系
Goods 和 OrderDetail 一对多关系
Shopper 存用户信息, ShopOrder 存订单处理状态,OrderDetail 存订购的货物和数量
Goods 存货物信息
现在我想查询 购物者名称 和 对应订单的费用
select sr.Name, sum(gs.Price * od.Amount) as 'Total Rate' /*gs.Price 货物价格, od.Amount 订购的数量*/
from ShopOrder as so
join OrderDetail as od
on
od.ShopOrderID =
so.ID
join Goods as gs
on od.GoodsID = gs.ID
join Shopper as sr
on sr.ID = so.ShopperID
group by sr.ID
但是报错:
选择列表中的列 'Shopper.Name' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
请问这个要怎么弄啊??

回复

使用道具 举报

千问 | 2010-12-30 13:37:26 | 显示全部楼层
既然Shopper 和 ShopOrder 一对一关系那么可以直接在group by后面加上sr.nameselect sr.Name, sum(gs.Price * od.Amount) as 'Total Rate' /*gs.Price 货物价格, od.Amount 订购的数量*/from ShopOrder as sojoin OrderDetail as odon
od.ShopOrderID =
so.IDjoin Goods as gson od.GoodsID = gs.IDjoin Shopper as s
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行