Как объединить операторы SELECT с разным количеством столбцов при использовании объединения? - PullRequest
0 голосов
/ 30 июня 2018

Мне нужно объединить две таблицы с разным количеством столбцов в MySQL .... Есть какие-нибудь хитрости, чтобы сделать это?

1 Ответ

0 голосов
/ 30 июня 2018

Как сказал @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, чтобы они были одного типа.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...