SQL Inner-join con 3 tablas?
Estoy tratando de unir 3 tablas en una vista; Aquí está la situación:
Tengo una tabla que contiene información de los estudiantes que están solicitando vivir en este campus universitario. Tengo otra tabla que enumera las Preferencias de Hall (3 de ellas) para cada Estudiante. Pero cada una de estas preferencias es simplemente un Número de ID, y el Número de ID tiene un Nombre de Hall correspondiente en una tercera tabla (no diseñó esta base de datos ...).
Bastante tengoINNER JOIN
En la mesa con sus preferencias y su información, el resultado es algo así como ...
<code> John Doe | 923423 | Incoming Student | 005 </code>
Dónde005
sería elHallID
. Así que ahora quiero igualar esoHallID
a una tercera tabla, donde esta tabla contiene unaHallID
yHallName
.
Así que bastante, quiero que mi resultado sea como ...
<code> John Doe | 923423 | Incoming Student | Foley Hall <---(INSTEAD OF 005) </code>
Esto es lo que tengo actualmente:
<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>