Мне нужно объединить две таблицы с различным количеством столбцов в 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
чтобы они были одного типа.