Я не очень хорошо разбираюсь в SQL, поэтому я опубликую таблицы, с которыми я работаю, и то, что я пробовал.
Таблица 1
Installation
id
Таблица 2 ссылки на 1
Project
id
installationid
name
Таблица 3 ссылки на 2
Assignment
id
projectid
Таблица 4 ссылки на 3
AssignmentException
id
assignmentid
type
Я пытаюсь найти Project.name, где AssignmentException.type> 0 для Installation.id = 12345. Наибольший опыт я получаю с простыми внутренними объединениями. Ниже приводится моя неработающая попытка, которая не учитывает Installationid. Короткое объяснение того, как работает ваш код, также будет высоко оценено.
select * from (
Assignment INNER JOIN AssignmentException ON Assignment.id = AssignmentException.assignmentID )
INNER JOIN Project ON Assignment.projectid = Project.id
WHERE AssignmentException.type > 0