创建union语句

时间:2014-05-06 10:07:53

标签: mysql union

我正在尝试创建一个使用union语句的select stament。我有3个表,其中2个有14列,其中第三列有19列。有没有办法创建一个联合语句,接受一个没有相同数量的列的表

2 个答案:

答案 0 :(得分:0)

重复Unioning Two Tables With Different Number Of Columns

正如Kangkan here所述:

“为具有较少列的表格添加额外的列为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