我有两个类似这样的表:
表格1:
COL_A (int), COL_B (float), COL_C (float)
和
表_2:
COL_A (int), COL_B (varchar), COL_C (varchar)
我的查询使用 UNION 从表 2 中仅获取 COL_A(int)
SELECT COL_A, COL_B, COL_C FROM table1 UNION
SELECT COL_A FROM table2
Run Code Online (Sandbox Code Playgroud)
它抛出一个错误。我们如何得到结果?
a 的所有子查询成员UNION必须具有相同的列数和类型。在您的情况下,第一个子查询有三列,但第二个子查询只有一列。
解决方案:用空值填充第二个子查询。
例如:
select COL_A, COL_B, COL_C from table1
union
select COL_A, null, null from table2
Run Code Online (Sandbox Code Playgroud)