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

被折叠的 条评论
为什么被折叠?



