Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Составление SQL-запросов > Выбор значений относительно 3-х таблиц


Автор: Moid 20.10.2008, 12:26
Есть 3 таблицы (к примеру: T1, T2 , T3).


Поля таблиц:

T1:
 - ID
 - PID

T2:
 - ID

T3:
 - PID


Нужно выбрать из таблицы T2 все значения, у которых поле ID = '123', при этом T1 в поле ID должно иметь такое же значение, а поля T1.PID и T3.PID должны быть равными.

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

Автор: Zloxa 20.10.2008, 12:30
Код

select * from t1,t2,t3
where t2.id = '123' and t1.id=t2.id and t3.pid = t1.pid

Автор: Moid 20.10.2008, 13:06
Zloxa, спасибо... я ожидал, что сложнее запрос будет smile

Автор: Moid 20.10.2008, 14:31
Ошибся с описанием...

Поля таблиц:

T1:
 - ID
 - PID

T2:
 - ID
 - VAL

T3:
 - PID



Нужно выбрать из таблицы T2 все значения, у которых поле VAL = '123', при этом T1 в поле ID должно иметь такое же значение, что и у T2.ID (значение из строки с T2.VAL = '123'), а поля T1.PID и T3.PID должны быть равными.

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

Автор: Zloxa 20.10.2008, 14:48
Код

select * from t1,t2,t3
where t2.val = '123' and t1.id=t2.id and t3.pid = t1.pid

Автор: Moid 20.10.2008, 15:03
 smile 
Спсибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)