Попробуйте это:
select a.propertyNo
, a.city as propertyCity
, b.city as propertyBranchCity
, sb.city as staffBranchCity
from PropertyForRent a
inner join Branch b on b.branchNo = a.branchNo
inner join Staff s on s.staffNo = a.staffNo
inner join Branch sb on sb.branchNo = s.branchNo
where a.ownerNo = 'CO69'
Вы делаете все правильно в существующих запросах.
Возможно, у вас возникла проблема из-за того, что вам нужно извлечь данные из таблицы staff
, которые не отображаются в результатах. Примечание. Таблицы можно использовать для создания объединений, даже если в выводе нет полей из этих таблиц.
Или, возможно, ваша проблема в том, что вам нужно дважды присоединиться к таблице branch
; один раз, чтобы получить филиал собственности, и второй раз, чтобы получить филиал сотрудника. Обратите внимание, что вы можете присоединиться к одной и той же таблице столько раз, сколько захотите; просто присвойте каждому свой псевдоним (например, b
, sb
в приведенном выше примере), чтобы вы могли различать их.