如何实现select sum +sum

本文深入探讨了SQL中使用UNION ALL进行数据汇总的高级技巧,特别是在处理不同表中相似但名称各异的字段时的方法。通过具体案例,展示了如何优雅地解决sum+sum的语法问题,实现数据的有效整合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select   [本年;本月;零售额;千元]    from  (

SELECT                                             
             sum(cast(b.[本年;本月;零售额;千元]   as  float))  as   [本年;本月;零售额;千元]              
                        FROM [oa].[dbo].[201-1] a  inner join [oa].[dbo].[E204-1] b                                                
        on   a.[组织机构代码] = b.[组织机构代码]   where      left( a.[城乡代码],1)=2  and b.[期别(年)]+RIGHT('0000'+b.[期别(月)],4)   = '&request.Form(report)&'                                             
                         union  all                                              
                    SELECT                                                            
                          sum(cast(d.[上年同期;1-本月;零售额;千元] as   float))  as  [本年;本月;零售额;千元]   
                        FROM [oa].[dbo].[E107] c  inner join [oa].[dbo].[E204-3] d                                                
          on   c.[组织机构代码] = d.[组织机构代码]   )t

 

////////////////////

这个地方的核心有两个:

1、需要合并的指标所在的记录列不一定都名字一样,只要as一下就好。

2、union all   可以代替   sum+sum  ,但sum+sum  sql没这种语法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值