我有 2 个具有相同结构的表,例如:Table1(Timestamp, Value)
和Table2(Timestamp, Value)
。我想要将这些表联合 2 作为一个表,例如: Table3(Timestamp, Value1, Value2)
哪里Value1 is value of Table1
和Value2 is value of Table2
。我怎样才能在 SQL Server 上做到这一点?
最佳答案
试试这个
DECLARE @table1 TABLE (TS int, Value int);
DECLARE @table2 TABLE (TS int, Value int);
DECLARE @table3 TABLE(TS int, Value1 int, Value2 int);
INSERT INTO @table1(TS, Value)
SELECT 1, 12
UNION SELECT 3, 34
UNION SELECT 9, 122
INSERT INTO @table2(TS, Value)
SELECT 1, 23
UNION SELECT 2, 99
UNION SELECT 3, 999
UNION SELECT 5, 1222
-- 答案:--
INSERT INTO @table3(TS, Value1, Value2)
SELECT ISNULL(t1.TS, t2.TS), t1.Value, T2.Value
FROM @table1 t1
FULL JOIN @table2 t2 ON t2.TS = t1.TS
SELECT * FROM @table3
ORDER BY TS
上面的示例代码。将 TS 更改为首选名称和数据类型
关于sql - Union 2 表具有相同的结构 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40333016/