Запросы, планы, оптимизация запросов, ...
Модераторы: kdv, CyberMax
-
SenA
- Сообщения: 3
- Зарегистрирован: 16 ноя 2006, 21:25
Сообщение
SenA » 17 дек 2006, 17:50
Уважаемые эсперты!
Помогите сочинить запрос:
Есть таблица главных объектов (Master) и таблица подчиненых объектов (Slave)
Код: Выделить всё
Select Master.Name
From Master INNER JOIN Slave On Master.Id=Slave.Id
Where Slave.Color ="Red" OR Slave.Color ="White"
В результате получаю имена из Master которые присобачились : или к белому, или к красному, или к белому и красному Slave.Color.
А я хочу только ПОСЛЕДНИХ, т.е тех, которые соединились и с белым и с красным!
Должен все это делать в Interbase 6.5
Буду благодарен сильно..
-
CyberMax
- Заслуженный разработчик
- Сообщения: 638
- Зарегистрирован: 31 янв 2006, 09:05
Сообщение
CyberMax » 18 дек 2006, 01:56
Может быть вместо
Код: Выделить всё
From Master INNER JOIN Slave On Master.Id=Slave.Id
надо
Код: Выделить всё
From Master INNER JOIN Slave On Master.Id=Slave.Id_Master
?
Джойнить надо по ПК мастера и полю внешнего ключа слейва, а не по ПК обоих таблиц

.
-
kdv
- Forum Admin
- Сообщения: 6595
- Зарегистрирован: 25 окт 2004, 18:07
Сообщение
kdv » 18 дек 2006, 08:45
вообще то надо бы грабера читать. там есть такой запрос.