SQL union,union all,sql临时表

    第一次做网站的后台的项目,在做的过程中遇到了很多的问题,首先就是有一个函数要进行多张表的查询,然后再进行对其中的列进行求和运算

但是有一个问题就是在其中一张表上的数据比较多,而且这三张表的字段并不相同,所以首先分别对这三张表进行处理,把处理的结果放入三张临

时表里面 这里记录一下创建临时表的方法:

       select * into #临时表名 from 你的表;    select * into ##临时表名 from 你的表;  

 或者:create table #临时表名(字段1 约束条件)    create table ##临时表名(字段1 约束条件....)    

PS:以上的#代表局部临时表,##代表全局临时表

 我用的是创建列名不确定的临时表,第一种方法,创建的三张表比如命名为 f1,f2,f3,同时在创建临时表的时候我为相应的列添加同样的别名,这样在使用

union连接的时候就不用考虑字段不同了,

   给表格中的列添加别名:用 as 语句

但是在创建临时表的过程中出现了一个问题,就是在创建第二个临时表的时候它老是在select下面提示应该为ID ,AS 什么的,后来添加了as作为另一个临时表的、

别名,才停止这个错误

然后是通过union将三张临时表 合并在一起,并不像join连接到一块

select 
-- last_table.rectime,
-- SUM (last_table.power) 
-- from (
-- select 
-- #firetempoary.rectime, 
-- #firetempoary.power 
-- from #firetempoary
-- union all

-- select 
-- #othertemporary.rectime,
-- #othertemporary.power 
-- from #othertemporary
-- union all

-- select 
-- #interRegional.rectime,
-- #interRegional.power 
-- from #interRegional
-- ) as last_table
-- group by last_table.rectime

对了这个也要加一个as别名

然后同时通过sum函数求和通过group by 进行分组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Master_Yoda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值