口袋妖怪xy轮滑技巧:求教一个SQL查询语句要如何写

来源:百度文库 编辑:高考问答 时间:2024/04/30 03:52:33
求教一个SQL语句要如何写,谢谢!

表A 字段:部门编号,部门名称. 表B字段:部门编号,订单日期 ,订单金额

1,表B中的数据为每个部门,每天的订单金额.

2,现在想对表2进行汇总:生成 部门名称,订单月份,订单月份金额合计.(也就是对每月每个部门有多少订单金额进行汇总).(先对月份进行汇总,再对金额进行汇总)

3,要求进行汇总后,即使这个部门某月没有订单,那也要列出这个部门名称.订单月份,而订单金额为空这个记录.(这个是我想问大家的).

4,我写的语句,某个月份如果某个部门没有订单,那汇总后在这个月这个部门就不会在记录中列出).
5,谢谢.也可加我QQ:28025687
我是采用sql2000数据库,沉默用户的回答结果:假设某个月份某个部门没有订单,那这个部门还是不会显示

抱歉,原来想简单了。如下语句已更正

select a.部门名称,b.订单月份,sum(c.订单金额) as 订单月份金额合计
from (select distinct 部门名称,部门编号 from 表A ) a join (select distinct 订单月份 from 表B ) b
on 1=1 left join 表B c
on a.部门编号=c.部门编号 and b.订单月份=c.订单月份
group by a.部门名称,b.订单月份

要使用外连接就可以了,不同的数据库写法不同,注意 left outer join / right outer join 的写法,我写的可能不太对,Oracle就用一个"+"就可以搞定了

没有数据因为原始表中没有当月的记录!

你再创建一个month表 外连接就可以了