关于合并两个表数据的SQL方法


今天遇到一个功能,需要在两个结构一样的表中统计预约方式的个数,关键点在于union all 和sum的使用

 1 select sum(y1) as y,a.name
 2 from(SELECT
 3         count(1) as y1,
 4         sdd.dict_label as name
 5 FROM
 6 ars_appointment_info aai
 7         JOIN sys_dict_data sdd
 8         on sdd.dict_value=aai.AppointmentChannel AND sdd.dict_type = 'ars_appointment_info_AppointmentChannel'
 9                 where AppointmentDate >='2020-6-2'
10                 and AppointmentDate <= '2020-6-8'
11         GROUP BY
12         AppointmentChannel union all  
13         SELECT
14         count(1) as y2,
15         sdd.dict_label as name
16 FROM
17 ars_appointment_info_non aai
18         JOIN sys_dict_data sdd
19         on sdd.dict_value=aai.AppointmentChannel AND sdd.dict_type = 'ars_appointment_info_AppointmentChannel'
20                 where AppointmentDate >='2020-6-2'
21                 and AppointmentDate <= '2020-6-8'
22         GROUP BY
23         AppointmentChannel) as a
24         GROUP BY a.name

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM