我有三个表,我试图查询以这种格式返回单个表:
Message Period Date Firstname Lastname Room_ID Description
x x x x x x x
x x x x x x x
表'消息'列有Message,Period,Date,Room_ID,Teacher_ID。表'房间'有列Room_ID,描述。表'教师'列有Teacher_ID,名字,姓氏。
我的SQL语句在哪里出错?
SELECT Message, Period, Date FROM message
UNION
SELECT * FROM rooms
UNION
SELECT Firstname, Lastname
FROM teacher
RIGHT JOIN message
ON teacher.Teacher_ID=message.Teacher_ID
每个SELECT查询都可以自行运行,但我很难将它们组合起来。
答案 0 :(得分:2)
UNION
合并了来自不同表格的行。所有子查询都需要具有相同的列。
据推测,您需要join
s:
SELECT m.Message, m.Period, m.Date, t.Firstname, t.LastName, r.roomID, r.Description
FROM message m JOIN
teacher t
ON t.Teacher_ID = m.Teacher_ID JOIN
rooms r
ON m.Room_ID = r.Room_ID;