请问这个SQL怎么写(在线等待)

WeiXuBin 2003-05-14 04:50:06
请问这个SQL怎么写
xhdml

djh(单据号)khdm(客户代码) kdrq(月份)
1 01 1
2 02 1
3 01 2
. . .
. . .
. . .
100 20 4

xhdnr

djh(单据号)spdm(商品代码) sl(数量)
1 A01 20
1 A02 10
2 B01 30
3 A01 10
. . .
. . .
. . .
100 G25 96

请问怎么得出:
1-4月份各个客户购买各个商品的的数量
请用一行来显示(如果是NULL,请设为0)

请各位帮忙!
...全文
15 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
米多 2003-05-14
select khdm,spdm,sum(sl1) as sl1,sum(sl2) as sl1,sum(sl3) as sl3,sum(sl4) as sl4
from
( select khdm,spdm,(case kdrq when 1 then sum(sl) end) as sl1, (case kdrq when 2 then sum(sl) end) as sl2,(case kdrq when 3 then sum(sl) end) as sl3,(case kdrq when 4 then sum(sl) end) as sl4 from xhdml l inner join xhdnr r on l.djh=r.djh group by khdm,spdm,kdrq ) as dd
group by khdm,spdm
order by khdm,spdm
回复
WeiXuBin 2003-05-14
更正:
kdrq, khdm, spdm, sl1, sl2, sl3, sl4 --fields
^^(1月份数) ^^(2月份数)....
改成

khdm, spdm, sl1, sl2, sl3, sl4 --fields
^^(1月份数) ^^(2月份数)....

回复
WeiXuBin 2003-05-14
to: firetoucher(蹈火者)
一行显示是:四个月份分别显示在一行上

kdrq, khdm, spdm, sl1, sl2, sl3, sl4 --fields
^^(1月份数) ^^(2月份数)....
回复
firetoucher 2003-05-14
??一行显示?什么意思?
回复
firetoucher 2003-05-14
select kdrq, khdm, spdm, sum(sl)
from xhdml a, xhdnr b
where a.djh = b.djh
and a.kdrq >= 1 and a.kdrq <= 4
group by kdrq, khdm, spdm
回复
WeiXuBin 2003-05-14
还有一个附加说明:
xhdml:销货单目录
xhdnr: 销货单内容

只能用一句SQL来写
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-14 04:50
社区公告
暂无公告