Как сформулировать перекресный запрос на выборку из таблицы SQL?

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

Pubs
.PubId
.PubName

PubNodes
.PubNodeId
.PubPtr (--> Pubs.PubId)
.NodePtr

PubTargets
.PubTargetId
.PubPtr (--> Pubs.PubId)
.TargetPtr

PubSections
.PubSectionId
.PubPtr (--> Pubs.PubId)
.SectionPtr

Как будет выглядеть запрос SQL, чтобы получить список Pubs для (NodePtr = A) AND (TargetPtr = B) AND (SectionPtr = C)?

Понимаю, что, вроде, джойнить нужно, но как не пойму.
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
@Draconian
Oracle Developer
select *
from pubs p
    join pubnodes pn on p.pubId = pn.pubptr
    join pubtargets pt on p.pubId = pt.pubptr
    join pubsections ps on p.pubId = ps.pubptr
where (pn.NodePtr = A) AND (pt.TargetPtr = B) AND (ps.SectionPtr = C)
;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы