Присоединиться в отличие от таблиц - PullRequest
0 голосов
/ 23 июня 2010

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

Таблица 1
Table1ID

Таблица 2
Table2ID

подзапросы
Table1ID
Table2ID

Есть ли способ объединить все вместе?

Я пробовал что-то похожее на

SELECT Table1.Table1ID, Table2.Table2ID
FROM Table1, Table2
LEFT JOIN (SELECT Table1ID, Table2ID FROM ....) q1 ON Table1.Table1ID = q1.Table1ID AND Table2.Table2ID = q1.Table2ID
...

1 Ответ

2 голосов
/ 23 июня 2010

Этот следующий запрос выберет все поля из объединения всех трех таблиц с соответствующими идентификаторами таблиц:

SELECT *
FROM Table1 t1
  INNER JOIN Subqueries s
    ON t1.Tabl1Id = s.Table1Id
  INNER JOIN Table2 t2
    ON s.Tabl2Id = ts.Table2Id

Если вам нужны абсолютно все записи из таблиц Table1 и Table2, независимо от того, объединяются ли они черезТаблица подзапросов, затем вы можете изменить соединение на FULL OUTER:

SELECT *
FROM Table1 t1
  FULL OUTER JOIN Subqueries s
    ON t1.Tabl1Id = s.Table1Id
  FULL OUTER JOIN Table2 t2
    ON s.Tabl2Id = ts.Table2Id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...