怎样用sql语句来实现这个功能? (50分)

  • 主题发起人 主题发起人 blad_pitt
  • 开始时间 开始时间
B

blad_pitt

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个消费表,一个餐饮目录表,现在要统计消费表中各种商品的销售数量和金额,于是写了这些语句:
select 品名,sum(数量),sum(实际金额) from 消费单表 where 操作时间>=@indate3 and 操作时间<=@indate4 and 状态='已结' group by 品名
同时还想把“品名”所对应的餐饮目录表中的“餐饮类别”字段中的值取出,
于是写了这些语句:
select 品名,sum(数量),sum(实际金额),名称,餐饮类别,单位 from 消费单表,餐饮目录表 b where a.品名=b.名称 and 操作时间>=@indate3 and 操作时间<=@indate4 and 状态='已结' group by 品名
也不行,提示说餐饮目录表中的字段无法用group by来查找,于是又把这两句分开来写
select 品名,sum(数量),sum(实际金额) from 消费单表 a where 操作时间>=@indate3 and 操作时间<=@indate4 and 状态='已结' group by 品名
select 名称,餐饮类别,单位 from 餐饮目录表 b where a.品名=b.名称
还是不行,到底应该怎样写来实现这个功能呢?
 
试试 group by 品名, 名称,餐饮类别,单位
 
select 品名,sum(数量) as 数量,sum(实际金额) as 金额 into #tmp from 消费单表 a where 操作时间>=@indate3 and 操作时间<=@indate4 and 状态='已结' group by 品名
select 名称,餐饮类别,单位,a.数量,a.金额 from 餐饮目录表 b left outer join #tmp a on a.品名=b.名称
 
如果是真正的SQL数据库,同意楼上的
 
接受答案了.
 
后退
顶部