Внутреннее соединение SQL с 3 таблицами?
Я пытаюсь присоединиться к 3 таблицам в представлении; вот ситуация:
У меня есть таблица, которая содержит информацию о студентах, которые подают заявление на проживание в этом кампусе колледжа. У меня есть другая таблица, в которой перечислены предпочтения зала (3 из них) для каждого студента. Но каждое из этих предпочтений - просто идентификационный номер, а идентификационный номер имеет соответствующее имя зала в третьей таблице (не создавал эту базу данных...).
В значительной степени у меня есть «ИННЕР ПРИСОЕДИНЯЕТСЯ» на столе с их предпочтениями и информацией, результат примерно такой...
John Doe | 923423 | Incoming Student | 005
Где «005» будет «HallID». Итак, теперь я хочу сопоставить эту HallID
с третьей таблицей, где эта таблица содержит HallID
и HallName
.
Я очень хочу, чтобы мой результат был таким...
John Doe | 923423 | Incoming Student | Foley Hall <---(INSTEAD OF 005)
Вот что у меня сейчас есть:
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
Вы можете сделать следующее (я угадал поля таблицы и т. Д.)
На основании вашего запроса на несколько залов вы можете сделать это таким образом. Вы просто присоединяетесь к своему столу в зале несколько раз для каждого номера pref id:
Если у вас есть 3 таблицы с одним и тем же
ID
, к которым нужно присоединиться, я думаю, что это будет так:Просто замените
*
на то, что вы хотите получить из таблиц.Вам просто нужно второе внутреннее соединение, которое связывает
ID Number
, который у вас есть сейчас, сID Number
третьей таблицы. После этого замените «идентификационный номер» на «имя зала» и voil & # 225; :)Было много ответов, но общий урок, кажется, состоит в том, что вы можете использовать несколько JOINS в предложении «где»; также techonthenet.com (мой босс рекомендовал это мне, это 'как я это нашел) имеет хорошие учебные пособия по SQL, если у вас когда-либо был другой вопрос, и вы просто хотите попытаться выяснить это.
Это правильный запрос для объединения таблицы 3 с тем же идентификатором **
сотрудник первого стола. отчет второй таблицы. рождение третьего стола
Этот запрос будет работать для вас