繁体   English   中英

合并1中的2个表的最佳方法是什么(SQL Server),只有一个共同的datetime类型的列

[英]What is the best way to merge 2 tables in 1 (SQL Server), with only one colums in common of datetime type

合并1中的2个表的最佳方法是什么(SQL Server),只有一个共同的datetime类型的列

例:

IF OBJECT_ID('tempdb.dbo.#tab1', 'U') IS NOT NULL
DROP TABLE #tab1; 
  IF OBJECT_ID('tempdb.dbo.#tab2', 'U') IS NOT NULL
  DROP TABLE #tab2; 
CREATE TABLE #tab1 (data datetime,valor1 int);
INSERT INTO #tab1 VALUES ('2019-01-01',2);
INSERT INTO #tab1 VALUES ('2019-01-03',3);
CREATE TABLE #tab2 (data datetime,valor2 int);
INSERT INTO #tab2 VALUES ('2019-01-02',5);
INSERT INTO #tab2 VALUES ('2019-01-03',6);
INSERT INTO #tab2 VALUES ('2019-01-04',7);

所需的输出:

Data        Valor1   Valor2
2019-01-01  2        NUll 
2019-01-02  NULL     5
2019-01-03  3        6
2019-01-04  NULL     7

您想要full outer join

select coalesce(t1.data, t2.data) as data, t1.valor1 , t2.valor2 
from #tab1 t1 full outer join
     #tab2 t2
     on t2.data = t1.data
order by data;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM