Получите результат из 3 таблиц с одинаковыми именами полей - PullRequest
0 голосов
/ 25 мая 2020

У меня есть 3 таблицы в SQL Сервер:

Таблица MyParents

ID   Name   Surname

Таблица MyCousins ​​

ID   Name   Surname

Таблица MyGrandParents

ID   Name   Surname

Я хотел бы спросить: есть ли способ получить «Имя» и «Фамилию» из всех 3 таблиц и узнать, из каких таблица, из которой они поступают в одном запросе?

Таким образом, результат должен быть

Name         Surname        Table
-----------------------------------------
Giovanni     Rossi          MyParents
Rosanna      Blu            MyCousins
Seth         TheGreat       MyGrandParents

Любая помощь приветствуется

1 Ответ

2 голосов
/ 25 мая 2020

Вы можете использовать UNION ALL и литерал для таблицы.

SELECT name,
       surname,
       'MyParents' [table]
       FROM MyParents
UNION ALL
SELECT name,
       surname,
       'MyCousins' [table]
       FROM MyCousins
UNION ALL
SELECT name,
       surname,
       'MyGrandParents' [table]
       FROM MyGrandParents;

Но учтите, что ваш дизайн, вероятно, можно улучшить. Должна быть только одна таблица для всех людей и связующая таблица, в которой будет храниться их связь.

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