34,838
社区成员




SQL 统计每个客户月订单金额
表1:客户信息表:客户编码,客户名称:客户ID
表2:销售订单表:客户ID,销售金额,单据时间
需要呈现的结果:
客户编码,客户名称,1月销售金额合计,2月销售金额合计......12月销售金额合计
0001, 客户1, 1000, 30000, 50000
先把表2处理:
根据单据的时间截取字符串‘’‘年月‘’‘,再按照年月分组。形成客户iD,销售合计,单据时间。
再处理时间按照每一年的没一月排序。
再列转行
ok
select 表1.客户编码,表1.客户名称,sum(case when month(表2.单据时间)=1 then 表2.销售金额 else 0 end) as [1月销售金额合计] ,
.......
sum(case when month(表2.单据时间)=12 then 表2.销售金额 else 0 end) as [12月销售金额合计]
from 表1 join 表2 on 表1.客户ID=表2.客户ID
group by 表1.客户编码,表1.客户名称