Как использовать объединение на трех столах - PullRequest
2 голосов
/ 09 июня 2011

У меня три таблицы

Таблица1 Таблица2 и Таблица3.

Таблица1 с идентификатором столбца. Таблица2 с именами столбцов ID, Имя. Таблица три с именем столбца Имя.

Теперь я хочу получить идентификатор из таблицы1, которая есть в Таблице 2, чтобы имя, связанное с идентификатором в таблице, должно быть в Таблице 3.

Table1.ID = Table2.ID (Table2.Name = Table3.Namw).

Без использования оператора IN. Только присоединения.

Ответы [ 2 ]

5 голосов
/ 09 июня 2011
select table1.id, table2.name
from table1
join table2 on table2.id = table1.id
join table3 on table3.name = table2.name
1 голос
/ 09 июня 2011
select distinct t1.ID
from Table1 t1
    ,Table2 t2
    ,Table3 t3
where t1.ID = t2.ID
  and t2.Name = t3.Name
;

или

select t1.ID
from Table1 t1
where exists (
  select 1
  from Table2 t2
      ,Table3 t3
  where t1.ID = t2.ID
    and t2.Name = t3.Name
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...