我需要在mysql中合并两个具有不同列数的表....有什么技巧吗?
答案 0 :(得分:0)
正如@Joakim Danielson所说,您可以尝试使用UNION ALL
结合两个查询。添加NULL
,并减少列数。
CREATE TABLE A(
col1 int,
col2 varchar(100),
col3 datetime
);
insert into a values (1,'test1','2017-01-01 01:00:00');
CREATE TABLE B(
col1 int
);
insert into b values (3);
例如,A
表中有三列,B
表中有一列。
看起来像这样。
SELECT col1,col2,col3
FROM A
UNION ALL
SELECT col1,null,null
FROM B
注意:
UNION ALL
需要确保列的类型相同,则上面的示例A.col1
和B.col1
的类型应该相同。A.col1
和B.col1
的类型不同,则可以使用CAST
函数使它们相同。