+ -
当前位置:首页 → 问答吧 → 请教一个union,sum 和group by一起用的语句

请教一个union,sum 和group by一起用的语句

时间:2011-08-17

来源:互联网

有两个结构完全一样的表,我想将两个表汇聚到一起形成一张表,语句如下

create view v1 as Select id as id, type as type, sum(s1) as s1, sum(s2) as s2, min(s3) as s3, max(s4) as s4 From t1 group by id,type union Select id as id, type as type, sum(s1) as s1, sum(s2) as s2, min(s3) as s3, max(s4) as s4 From t2 group by id,type  

执行完之后查询 select * from v1

发现2张表分别汇聚后再通过union形成了一张表。并不是我想要的。 要达到我想要的,我还需要在这个视图的基础上再次汇聚才可以。
create view v2 as Select id as id, type as type, sum(s1) as s1, sum(s2) as s2, min(s3) as s3, max(s4) as s4 From v1 group by id,type

这个SQL怎么写,可以一次形成我两句才能达到的效果

作者: w_zhen_x   发布时间: 2011-08-17

SQL code
Select * From (
(Select id as id, type as type, sum(s1) as s1, sum(s2) as s2, min(s3) as s3, max(s4) as s4 From t1 group by id,type)
union all
(Select id as id, type as type, sum(s1) as s1, sum(s2) as s2, min(s3) as s3, max(s4) as s4 From t2 group by id,type))T

作者: lxq19851204   发布时间: 2011-08-17

select sum(s3), sum(s1) from (select s3,s1 from t1 union select s3,s1 from t2) as
 ss;

作者: xiaoweqicss   发布时间: 2011-08-17

引用楼主 w_zhen_x 的回复:
有两个结构完全一样的表,我想将两个表汇聚到一起形成一张表,语句如下

create view v1 as Select id as id, type as type, sum(s1) as s1, sum(s2) as s2, min(s3) as s3, max(s4) as s4 From t1 group by id,type union Select id as id, ty……


我之前这么试过,提示错误,View's SELECT contains a subquery in the FROM clause,一直没搞明白哪错了

作者: w_zhen_x   发布时间: 2011-08-17