2010-06-23 7 views
0

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

Таблица 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 
... 

ответ

2

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

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

Если вам нужны абсолютно все записи как из таблицы 1, так и из таблицы 2, независимо от того, объединены ли они через таблицу подзапросов, вы можете изменить соединение на 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 
+0

+ один для избавления от подразумеваемого синтаксиса. – HLGEM

Смежные вопросы