SQL union,union all,sql临时表
2016-06-09 15:38
405 查看
第一次做网站的后台的项目,在做的过程中遇到了很多的问题,首先就是有一个函数要进行多张表的查询,然后再进行对其中的列进行求和运算
但是有一个问题就是在其中一张表上的数据比较多,而且这三张表的字段并不相同,所以首先分别对这三张表进行处理,把处理的结果放入三张临
时表里面 这里记录一下创建临时表的方法:
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 进行分组
但是有一个问题就是在其中一张表上的数据比较多,而且这三张表的字段并不相同,所以首先分别对这三张表进行处理,把处理的结果放入三张临
时表里面 这里记录一下创建临时表的方法:
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 进行分组
相关文章推荐
- SQL中的三值逻辑
- SQL Server 作业批量停止
- 结束SQL阻塞的进程
- 动态生成SQL Server视图作业
- SQL Server 语句操纵数据库
- SQL(结构化查询语句)
- oracle sql日期比较
- linux快速部署mysql服务器
- sql 存储过程分页
- 在WINXP系统上安装SQL Server企业版的方法
- 通过批处理调用SQL的方法(osql)
- SQL Server 存储过程的分页
- ASP程序与SQL存储过程结合使用详解
- SQL SERVER编写存储过程小工具
- 防御SQL注入攻击时需要注意的一个问题
- Microsoft Sql server2005的安装步骤图文详解及常见问题解决方案
- PostgreSQL教程(十九):SQL语言函数
- SQL Server复制需要有实际的服务器名称才能连接到服务器