Эту проблему можно решить с помощью объединений - фактически, поскольку компоненты, которые вы хотите получить, находятся в отдельных таблицах, обычно требуется объединение.
Вам необходимо объединить таблицу Project с таблицами Employee и Workon. Таблица «Брак» по сути не имеет значения, поскольку ее информация уже присутствует в таблице «Сотрудник». В SQL это декартово произведение (FROM), где определенные ограничения применяются / выбираются (WHERE).
Например (при условии, что оба мужа и жена работают над ELC):
SELECT E1.FirstName, E1.LastName, E2.FirstName, E2.LastName
FROM Project P, Workon W1, Workon W2, Employee E1, Employee E2
WHERE P.projectNumber = W1.projectNumber AND P.projectNumber = W2.projectNumber AND
W1.employeeNumber = E1.EmployeeNumber AND W2.employeeNumber = E2.EmployeeNumber AND
E1.SpouseNumber = E2.EmployeeNumber AND P.name = "East London Crossing";
(Примечание. Я не тестировал этот код, поэтому он может содержать синтаксические ошибки)
В качестве альтернативы вы можете использовать естественные объединения, в этом случае таблицы, такие как Project и Workon, можно объединять (например, Project NATURAL JOIN Workon
).