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>