связать таблицы, чтобы составить список (SQL) - PullRequest
0 голосов
/ 03 мая 2018

У меня есть 3 таблицы с разными столбцами, кроме одной, называемой «FileKey». Мне нужен запрос, который возвращает это поле из 3 таблиц в виде списка Я думаю, здесь легче увидеть

Пожалуйста, будьте терпеливы, я новичок здесь :(

Ответы [ 3 ]

0 голосов
/ 03 мая 2018

Вы можете использовать союз, как это:

Select FieldKey from TableA 
union 
Select FieldKey from TableB 
union
Select FieldKey from TableC

Использование объединения не будет дублировать данные, если у вас есть один и тот же FieldKey в разных таблицах.

если вы хотите дублировать данные, используйте объединение, например, так:

Select FieldKey from TableA 
union all
Select FieldKey from TableB 
union all
Select FieldKey from TableC

проверьте эту ссылку ниже, чтобы лучше понять https://www.w3schools.com/sql/sql_union.asp

0 голосов
/ 03 мая 2018

Лучший способ сделать это - использовать оператор UNION. но если вы не хотите использовать UNION, вы можете вставить все данные трех таблиц во временную таблицу, а затем просмотреть ее с помощью оператора выбора.

DECLARE @TableA TABLE (ID INT);
DECLARE @TableB TABLE (ID INT);
DECLARE @TableC TABLE (ID INT);
DECLARE @Needed TABLE (ID INT);

INSERT INTO @TableA VALUES(53)
INSERT INTO @TableB VALUES(49)
INSERT INTO @TableC VALUES(34)

INSERT INTO @Needed (Id)
SELECT ID FROM @TableA

INSERT INTO @Needed (Id)
SELECT ID FROM @TableB

INSERT INTO @Needed (Id)
SELECT ID FROM @TableC


SELECT * FROM @Needed
0 голосов
/ 03 мая 2018

Это можно сделать с помощью простого СОЕДИНЕНИЯ трех таблиц со значением FileKey.

SQL Inner-join с 3 таблицами?

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