Vairāk
SQL iekšējais savienojums ar 3 tabulām?
Es mēģinu pievienoties 3 tabulām skatā; šeit ir šāda situācija:
Man ir tabula, kurā ir informācija par studentiem, kas piesakās uz dzīvi šajā koledžas pilsētiņā. Man ir vēl viena tabula, kurā ir uzskaitītas katra studenta priekšroku zāles (3 no tām). Bet katra no šīm preferencēm ir tikai ID numurs, un ID numuram ir atbilstošs zāles nosaukums trešā tabulā (neesmu veidojis šo datubāzi...).
Gluži kā, man ir INNER JOIN
uz tabulas ar viņu preferencēm un viņu informāciju, rezultāts ir kaut kas līdzīgs...
John Doe | 923423 | Incoming Student | 005
kur 005
būtu HallID
. Tagad es gribu saskaņot šo HallID
ar trešo tabulu, kur šajā tabulā ir HallID
un HallName
.
Es gribu, lai mans rezultāts būtu šāds...
John Doe | 923423 | Incoming Student | Foley Hall <---(INSTEAD OF 005)
Šeit ir tas, kas man pašlaik ir:
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
307
3
Varat veikt šādas darbības (es uzminēju par tabulas laukiem utt.)
Pamatojoties uz jūsu pieprasījumu pēc vairākām zālēm, jūs varētu to darīt šādi. Vienkārši vairākas reizes pievienojieties savai halles tabulai katrai telpas pref id:
Ja jums ir 3 tabulas ar vienādu
ID
, kas jāapvieno, manuprāt, tas būtu šādi:Vienkārši nomainiet
*
ar to, ko vēlaties iegūt no tabulām.Jums ir nepieciešams tikai otrs iekšējais savienojums, kas sasaista tagad iegūto
ID numuru
ar trešās tabulasID numuru
. Pēc tam nomainietID numuru
arHall Name
un voilá :)