我需要在 mysql 中合并两个具有不同列数的表....有什么技巧可以做到这一点吗?
最佳答案
正如@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
函数使它们是同一类型。
关于mysql - 使用 union 时如何组合具有不同列数的 SELECT 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51112001/