[英]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.