菜鸟请教: 求SQL语句。。。。。。

galaxy_1981 2019-10-16 01:43:51
客户表:C
客户编号, 客户抬头
0001 A公司
0002 B公司
0003 C公司
X业务应收款表:X
客户编号, 日期, 金额
0001 2018-9-12 2000
0001 2018-9-16 1500
0001 2018-10-23 3000
0002 2018-9-15 3200
0002 2018-10-19 5000
Y业务应收款表:Y
客户编号, 日期, 金额
0001 2018-9-12 12000
0001 2018-10-16 10000
0001 2018-10-23 20000
0002 2018-11-15 13200
0002 2018-102-19 25000

现在需要每个客户按月生成汇总报表,求SQL语句,谢谢

月份 客户抬头 X业务应收款 Y业务应收款
2018-9 A公司 3500 12000
2018-10 A公司 3000 30000
...全文
61 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 2019-10-16
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'Tempdb..#C') is null
drop table #C
Go
Create table #C([客户编号] nvarchar(24),[客户抬头] nvarchar(23))
Insert #C
select N'0001',N'A公司' union all
select N'0002',N'B公司' union all
select N'0003',N'C公司'
GO
if not object_id(N'Tempdb..#X') is null
drop table #X
Go
Create table #X([客户编号] nvarchar(24),[日期] Date,[金额] int)
Insert #X
select N'0001','2018-9-12',2000 union all
select N'0001','2018-9-16',1500 union all
select N'0001','2018-10-23',3000 union all
select N'0002','2018-9-15',3200 union all
select N'0002','2018-10-19',5000
Go
if not object_id(N'Tempdb..#Y') is null
drop table #Y
Go
Create table #Y([客户编号] nvarchar(24),[日期] Date,[金额] int)
Insert #Y
select N'0001',N'2018-9-12',12000 union all
select N'0001',N'2018-10-16',10000 union all
select N'0001',N'2018-10-23',20000 union all
select N'0002',N'2018-11-15',13200 union all
select N'0002',N'2018-10-19',25000
Go
--测试数据结束
SELECT ISNULL(t.日期, t1.日期) AS 日期,
客户抬头,
t.金额 AS X业务应收款,
t1.金额 AS Y业务应收款
FROM #C
LEFT JOIN ( SELECT 客户编号,
RTRIM(YEAR(日期)) +'-'+ RTRIM(MONTH(日期)) AS 日期,
SUM(金额) AS 金额
FROM #X
GROUP BY 客户编号,
RTRIM(YEAR(日期)) +'-'+ RTRIM(MONTH(日期))) t
ON t.客户编号 = #C.客户编号
LEFT JOIN ( SELECT 客户编号,
RTRIM(YEAR(日期)) +'-'+ RTRIM(MONTH(日期)) AS 日期,
SUM(金额) AS 金额
FROM #Y
GROUP BY 客户编号,
RTRIM(YEAR(日期)) +'-'+ RTRIM(MONTH(日期))) t1
ON t1.客户编号 = #C.客户编号
AND t1.日期 = t.日期
WHERE ISNULL(t.日期, t1.日期) IS NOT NULL
ORDER BY 日期 DESC,#C.客户编号


34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧