добавить столбец с указанием города, из которого работает персонал - PullRequest
0 голосов
/ 14 сентября 2018

Мне нужно объединить несколько таблиц, чтобы показать, что все 3 столбца города могут быть разными для одной и той же записи. пока я получил

  • город, в котором находится недвижимость
  • город филиала, к которому относится имущество

запрос

select a.propertyNo, a.city as propertyCity, b.city
from PropertyForRent a
inner join Branch b on a.branchNo = b.branchNo
where a.ownerNo = 'CO69'

Мне нужно указать город сотрудника, а не номер филиала, и я не уверен, как это сделать, основываясь только на номере филиала в текущем запросе. Я могу получить ответ как запрос сам по себе. Я просто не уверен, как соединить это с запросом выше.

select branch.city, * from Staff
inner join Branch on staff.branchNo = branch.branchNo
where staff.staffNo = 'SA9'

Here is a table diagram if it helps make more sense

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

используйте другое объединение для PropertyForRent с существующим запросом

    select p.city  from Staff s
    inner join Branch b
   on s.branchNo = b.branchNo
   join  PropertyForRent p on p.branchNo=b.branchNo
   join  Branch bb  s.branchNo=bb.branchNo
    where staff.staffNo = 'SA9'
0 голосов
/ 14 сентября 2018

Попробуйте это:

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 в приведенном выше примере), чтобы вы могли различать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...