加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer_select-多次sum查询结果合并;

发布时间:2020-12-12 13:30:50 所属栏目:MsSql教程 来源:网络整理
导读:=背景介绍 -tableSales表 -第一次查询(2013销售员销售总额) select salesName,sum(extendedPrice) as sumprice13 from tableSales where salesTime between '2013-01-01' and '2013-12-31' group by salesName -第二次查询(2014销售员销售总额) select? sale

=>背景介绍

->tableSales表


->第一次查询(2013销售员销售总额)

select salesName,sum(extendedPrice) as sumprice13 from tableSales where salesTime between '2013-01-01' and '2013-12-31' group by salesName


->第二次查询(2014销售员销售总额)

select? salesName,sum(extendedPrice) as sumprice14 from tableSales where salesTime between '2014-01-01' and '2014-12-31' group by salesName


->如何获得销售员13、14年的销售总额?

A、首先,我想到的就是用union all,但不理想;

select salesName,sum(extendedPrice) as sumprice13,null as sumprice14 from tableSales where salesTime between '2013-01-01' and '2013-12-31' group by salesName
union all
select? salesName,null as sumprice13,sum(extendedPrice) as sumprice14 from tableSales where salesTime between '2014-01-01' and '2014-12-31' group by salesName


B最后,通过fredrickhu版主大大的指点,修改如下:

SELECT
??? a.salesName,a.sumprice13,b.sumprice14
FROM
??? (SELECT
??????? salesName,SUM(extendedPrice) AS sumprice13
???? FROM
??????? tableSales
???? WHERE
??????? salesTime BETWEEN '2013-01-01' AND '2013-12-31'
???? GROUP BY
??????? salesName
????? ) AS a
INNER JOIN
?? ? (SELECT
??????? salesName,SUM(extendedPrice) AS sumprice14
????? FROM
??????? tableSales
????? WHERE
??????? salesTime BETWEEN '2014-01-01' AND '2014-12-31'
????? GROUP BY
??????? salesName
????? ) AS b
ON a.salesName=b.salesName
?

最后再次感谢fredrickhu大大!谢谢!..风雨兼程...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读