UNION ALL 2 таблицы, но разные столбцы

Я пытаюсь сделать объединение из 2 таблиц. Оба содержат одни и те же столбцы, кроме одного из них.

Например:

Таблица A:

Имя, фамилия, телефон

Таблица B:

Имя, фамилия, другаяColumn

Я хочу сделать объединение из обеих таблиц и заказать их по столбцу фамилии. Он работает нормально.

Но теперь я хочу знать, когда строка выходит из первой таблицы или второй. У меня получилось бы имя, фамилия, телефон, другая колонка, но у меня есть телефон, и в этой колонке сохраняются оба результата.

Есть ли способ сохранить оба столбца и заполнить нулями, когда он не существует?

Теперь это мой запрос:

SELECT id, name, surname ai, phone FROM tableA WHERE status = 0

UNION ALL

SELECT id, name, surname ai, other FROM signedupLocal WHERE status = 0

ORDER BY ai ASC
2 ответа

Вы можете создать пустой временный столбец для поля, которое отсутствует в другой таблице, например

SELECT id, name, surname, phone, '' as other FROM TableA WHERE status = 0 
UNION ALL 
SELECT id, name, surname,'' as phone,otherColumn FROM TableB WHERE status = 0


Попробуй это...

SELECT id, name, surname ai,phone, NULL as other FROM tableA WHERE status = 0

UNION ALL

SELECT id, name, surname ai, NULL as phone, other FROM signedupLocal WHERE status = 0

ORDER BY ai ASC

licensed under cc by-sa 3.0 with attribution.