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
Varat veikt šādas darbības (es uzminēju par tabulas laukiem utt.)
SELECT s.studentname
, s.studentid
, s.studentdesc
, h.hallname
FROM students s
INNER JOIN hallprefs hp
on s.studentid = hp.studentid
INNER JOIN halls h
on hp.hallid = h.hallid
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:
SELECT s.StudentID
, s.FName
, s.LName
, s.Gender
, s.BirthDate
, s.Email
, r.HallPref1
, h1.hallName as Pref1HallName
, r.HallPref2
, h2.hallName as Pref2HallName
, r.HallPref3
, h3.hallName as Pref3HallName
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 h1
ON r.HallPref1 = h1.HallID
INNER JOIN HallData.dbo.Halls AS h2
ON r.HallPref2 = h2.HallID
INNER JOIN HallData.dbo.Halls AS h3
ON r.HallPref3 = h3.HallID
Ja jums ir 3 tabulas ar vienādu ID
, kas jāapvieno, manuprāt, tas būtu šādi:
SELECT * FROM table1 a
JOIN table2 b ON a.ID = b.ID
JOIN table3 c ON a.ID = c.ID
Vienkārši nomainiet *
ar to, ko vēlaties iegūt no tabulām.