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