我正在尝试创建一个使用union语句的select stament。我有3个表,其中2个有14列,其中第三列有19列。有没有办法创建一个联合语句,接受一个没有相同数量的列的表
答案 0 :(得分:0)
重复Unioning Two Tables With Different Number Of Columns
“为具有较少列的表格添加额外的列为null,如
Select Col1, Col2, Col3, Col4, Col5 from Table1
Union
Select Col1, Col2, Col3, Null as Col4, Null as Col5 from Table2
“
答案 1 :(得分:0)
这里有两个选项:
从较大的表中减少列数(使用SELECT)或增加较小表中的列数(使用列别名)。
选项1(假设t1和t2有3列):
SELECT * FROM t1
UNION
SELECT * FROM t2
UNION
SELECT * FROM (SELECT c1, c2, c3 FROM t3) AS t
选项2(假设t3是较大的表并且有5列):
SELECT c1, c2, c3, 1 as c4, 1 as c5 FROM t1
UNION
SELECT c1, c2, c3, 1 as c4, 1 as c5 FROM t2
UNION
SELECT * FROM t3