sql复杂的子查询,横向合并结果集

时间:2017-07-29 13:48:47   收藏:0   阅读:538

第一个查询的结果集

select * from(
select c.msName,a.msId,c.msPrice, c.msPrice*COUNT(a.msId) as totalMoney,sum(a.msAmount) as totalCount    from BillConsume a right join 
 (select top 1 msTime as startTime,GETDATE() as endTime from BillConsume where DateDiff(dd,msTime,getdate())=0  order by msTime asc) b on a.msTime between b.startTime and b.endTime and a.msId!=0
left join Menus c on c.msId=a.msId   group by a.msId ,c.msName,c.msPrice)s

连接两个结果集的语句

 full join 

第二个查询的结果集

(select sum(t.totalMoney) as allTotalMoney   from (
 select c.msName,a.msId,c.msPrice, c.msPrice*COUNT(a.msId) as totalMoney,sum(a.msAmount) as totalCount  from BillConsume a right join 
 (select top 1 msTime as startTime,GETDATE() as endTime from BillConsume where DateDiff(dd,msTime,getdate())=0  order by msTime asc) b on a.msTime between b.startTime and b.endTime and a.msId!=0
left join Menus c on c.msId=a.msId   group by a.msId ,c.msName,c.msPrice)t)t

连表的条件

on 1=1

 

原文:http://www.cnblogs.com/codeDevotee/p/7255589.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!