SQL запрос для возврата всех данных из нескольких таблиц - PullRequest
1 голос
/ 07 мая 2020

Например, у меня есть 2 таблицы, tableA и tableB.

tableA
id    name    age
1     nameA   10
2     nameB   11

tableB
id    name    age    address
3     nameC   10      test
4     nameD   11      test

Когда я использую SELECT * FROM tableA FULL OUTER JOIN tableB ON tableA.id = tableB.id, я получаю

id    name    age   id    name    age    address
1     nameA   10
2     nameB   11
                    3     nameC   10      test
                    4     nameD   11      test

Есть ли способ правильно слить данные?

Примерно так:

id    name    age    address
1     nameA   10
2     nameB   11
3     nameC   10      test
4     nameD   11      test

1 Ответ

0 голосов
/ 07 мая 2020

Таблицы не связаны столбцом id, к которому вы пытались присоединиться, поэтому вам нужно UNION ALL:

SELECT *, null address FROM tableA 
UNION ALL 
SELECT * FROM tableB

Поскольку tableA имеет только 3 столбца, 4-й фиктивный * К нему был добавлен столбец 1007 *, чтобы соответствовать количеству столбцов tableB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...