我在连接5个表时遇到了一个主要问题,因为每个表只有1列,只有1个表。
以下是每个表格中的表格和列:
TABLE (COLUMNS)
person (person_id, first_name, last name)
building (building_id, building_name)
room (room_id, room_number, building_id, capacity)
meeting (meeting_id, room_id, meeting_start, meeting_end)
person_meeting (person_id, meeting_id)
好的,现在我正在尝试做的事情(从家庭作业中粘贴):
构造SQL语句以查找person_id#1必须参加的所有会议。显示以下列:
- 人的名字
- 人的姓氏
- 建筑物名称
- 房号
- 会议开始日期和时间
- 会议结束日期和时间
现在我知道如何加入2个表,但我不知道如何从5个不同的表中提取信息。
我试着查看如何做到这一点,它只是说要做一个UNION命令,我只是在学习并且还没有涵盖它。
答案 0 :(得分:0)
由于UNION用于将多个SELECT语句的结果合并到一个结果集中,因此您不需要此方案。您必须根据其ID逐个加入所有表格。
SELECT P.First_Name, P.Last_Name, B.Building_name, R.Room_Number,
M.Meeting_Start, M.Meeting_End FROM Person P
JOIN Person_Meeting PM ON P.Person_Id = PM.Person_Id
JOIN Meeting M ON PM.Meeting_Id = M.Meeting_Id
JOIN Room R ON M.Room_Id = R.Room_Id
JOIN Building B ON R.Building_Id = B.Building_Id
WHERE P.Person_Id = 1