我有这样三张或者更多的表,格式为
table1
value time
a1 2012-7-31 01:00:00
a3 2012-7-31 03:00:00
a4 2012-7-31 04:00:00
a5 2012-7-31 05:00:00
table2
value time
b1 2012-7-31 01:00:00
b2 2012-7-31 02:00:00
b4 2012-7-31 04:00:00
b5 2012-7-31 05:00:00
table3
value time
c1 2012-7-31 01:00:00
c2 2012-7-31 02:00:00
c3 2012-7-31 03:00:00
c5 2012-7-31 05:00:00
我要怎么写sql语句能得到如下结果?
value1 value2 value3 time
a1 b1 c1 2012-7-31 01:00:00
NULL b2 c2 2012-7-31 02:00:00
a3 NULL c3 2012-7-31 03:00:00
a4 b4 NULL 2012-7-31 04:00:00
a5 b5 c5 2012-7-31 05:00:00
是用full join再合并吗???
谢谢回答,不过有点问题,结果里面会有两条time为 2012-7-31 02:00:00 的值:
NULL b2 NULL
NULL NULL c2
这两条没有合并起来,还有就是如果有3个以上这样的表,该怎么写啊,谢谢!
那检查一下time的数据类型是什么呢?
如果两条,说明table2里的和table3里的这个值是不相等的
如果有更多表的话,from。。。 这里,就是加full join 就可以了
但是select 里的 time列值选取,要注意一下
不过也简单,就是套 isnull ,比如多一个table4
select a.[value] as value1,b.[value] as value2, c.[value] as value3,d.[value] as value4,
isnull(isnull(isnull(a.time,b.time),c.time),d.time) as time
from table1 a full join table2 b on a.time = b.time
full join table3 c on a.time = c.time
full join table4 d on a.time = d.time
sql 语句,如何将数个相同表中的数据合并到一张表中
select nvl(t1.val,'null')value1,nvl(t2.val,'null')value2,nvl(t3.val,'null')value3,tt.tm from (select distinct tm from (select tm from table1 union select tm from table2 union select tm from table3))tt,table1 t1,table2 t2,table3 t3 where tt.tm=t1.tm(+)and tt...
请教sql200数据库 3个表合并成为一个表语句
使用以下SQL语句便可完成三个表合并为一个表的操作:注意,将Table1-3替换为你的表名。具体语句如下:SELECT [Table3].[mname], [Temp1].[no], [Temp2].[rmb] FROM [Table3]INNER JOIN (SELECT [id], SUM([no]) AS [NO] FROM [Table1] GROUP BY [id]) AS [Temp1] ON [Table3]...
sql多表格式相同汇总到一张表的语句
UNION ALL的用途是将几个成绩表合并成为一个表A。然后按照A表的学号和姓名字段进行分组合计。有不明白的再问我
sql如何将两个table的字段怎么合并到一张表?
在SQL中,合并两个表的字段到一张表,前提是这两个表之间存在一对一、多对一或一对多的关系。此操作通常使用JOIN语句来实现。假设有一个学生表A,以及一个保存学生成绩的表B。表A和表B分别包含了学生信息,要将这两表的数据合并,可以使用JOIN操作。确保A表和B表数据量相同,即对于A表中的每个学生...
SQL 两张表合并 (两张表的列都相同)
可以参考下面的方法:1、第一种,用一张临时表,把所有数据都放在一张表里 INSERT INTO QunList SELECT * FROM QunList89,90,91,92;再在QunList中查询 2、第二种,用 UNION ALL方式查询 SELECT * FROM QunList89 UNION ALL SELECT * FROM QunList90;...
...如何用存储过程把多个表的数据添加到一张表中,表字段都很相近,我用...
然后字段是哪些 如果表名不变 字段类似的话 我帮你写个模型 create proc usp_tableall as insert into 表名 --这里表要存在 存储你处理的数据 否则就用select * into from tb 的格式 select col1,col2 from a union all select col1,col2 from b ……go exec usp_tableall ...
SQL中,如何将三个表中同一字段中的内容汇总到一个字段中?
集合查询,字段的数据类型要一致。并操作是将结果竖着合并。select 字段 from A UNION ALL select 字段 from B UNION ALL select 字段 from C 当然查询还可以是多个字段,还可加WHERE条件。加ALL是把重复的字段也留下,不想重复就去掉ALL。
在SQL中怎样将多张表的数据插入一张表中
如果列名都1致的话可以先把多张表的结果用unionall连起来以后作为1个表插入目标表中
SQL中如何合并多个数据表中的字段(列)
在实际应用中,UNION和UNION ALL可以合并两个数据表中的相同类型字段,形成单一列。例如,客户表中存储了客户信息,供货商表中存储了供货商的地址信息。通过以下SQL语句可以找出客户和供货商分布的所有城市:而采用UNION ALL的SQL语句则会将结果中的重复城市出现两次,如广州和南京。为了实践这一概念,我们...
sql server 语句如何将3个表合并成一个表?
先说一下我的思路:首选你把表1,表2,表3中的数据都合并在一起表中,使用union all合并在一起。先不要管姓名是否会重复。但是在执行合并的时候,需要对每一个待合并的数据,打上一个标签,代表这个是哪个表中来的数据,这个标签最后用于区分同一个人的不同的成绩是分别是多少,不能因为合并在一...