sql - Union 2 表具有相同的结构 SQL Server

标签 sql sql-server union

我有 2 个具有相同结构的表,例如:Table1(Timestamp, Value)Table2(Timestamp, Value) 。我想要将这些表联合 2 作为一个表,例如: Table3(Timestamp, Value1, Value2)哪里Value1 is value of Table1Value2 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/

相关文章:

SQL Server : how to get data from lowest hierarchy in hierarchy table?

sql - 如何解决 Msg 8115, Level 16, State 2, Line 2 算术溢出错误将表达式转换为数据类型 int.?

sql - 使用 Group By 进行多个运行总计

使用 UNION 的 Mysql 查询

mysql - 如何使用 MySQL 覆盖 NULL 值将两行合并为一行?

c# - 事务提交并关闭连接后是否可以回滚?

mysql - 用于获取一个月中某天的每个第一个事件(按日期时间字段)的 SQL 查询

php - 使用 SQL 计算表中前几行的值

mysql - UNION 失去了对 GROUP BY 列的功能依赖

sql - 当另一半为空时,union 从查询的一半中删除行