SQL Inner-join z 3 tabelami?

Próbuję połączyć 3 tabele w widoku; oto sytuacja:

Mam tabelę zawierającą informacje o studentach, którzy ubiegają się o zamieszkanie w tym kampusie. Mam kolejną tabelę, która zawiera listę preferencji sali (3 z nich) dla każdego ucznia. Ale każda z tych preferencji jest tylko numerem identyfikacyjnym, a numer identyfikacyjny ma odpowiednią nazwę sali w trzeciej tabeli (nie zaprojektował tej bazy danych ...).

Mam dośćINNER JOIN na stole z ich preferencjami i informacjami, wynikiem jest coś w rodzaju ...

<code> John Doe | 923423 | Incoming Student | 005
</code>

Gdzie005 byłobyHallID. Więc teraz chcę to dopasowaćHallID do trzeciej tabeli, gdzie ta tabela zawiera aHallID iHallName.

Tak więc chcę, żeby mój wynik był jak ...

<code> John Doe | 923423 | Incoming Student | Foley Hall <---(INSTEAD OF 005)
</code>

Oto, co aktualnie mam:

<code>SELECT
  s.StudentID, s.FName, 
  s.LName, s.Gender, s.BirthDate, s.Email, 
  r.HallPref1, r.HallPref2, r.HallPref3
FROM
  dbo.StudentSignUp AS s 
  INNER JOIN RoomSignUp.dbo.Incoming_Applications_Current AS r 
    ON s.StudentID = r.StudentID 
  INNER JOIN HallData.dbo.Halls AS h 
    ON r.HallPref1 = h.HallID
</code>

questionAnswers(11)

yourAnswerToTheQuestion