我想使用子查询列出模块代码,房间代码,日期和时间,所有讲座都涉及我的数据库中名为“Josephine Griffith”的讲师,但我无法让它工作。
我正在尝试的SQL查询是
SELECT moduleCode, roomCode, dayReq, timeReq
FROM roomBooking
WHERE moduleCode
(SELECT mCode
FROM modLect
WHERE lecturer = "Josephine Griffith");
当我执行此操作时,我得到了
此子查询最多可以返回一条记录。
答案 0 :(得分:1)
您错过了IN
关键字
SELECT moduleCode, roomCode, dayReq, timeReq
FROM roomBooking
WHERE moduleCode IN
(
SELECT mCode
FROM modLect
WHERE lecturer = 'Josephine Griffith'
);
答案 1 :(得分:0)
您发布的SQL不正确,您错过了运营商。
可能你正在使用=但是如果子查询返回超过1行,你应该使用IN
SELECT moduleCode, roomCode, dayReq, timeReq
FROM roomBooking
WHERE moduleCode IN (SELECT mCode
FROM modLect
WHERE lecturer = 'Josephine Griffits')
但是,我认为你也可以使用连接而不是子查询
SELECT modulecode, roomcode, dayReq, timeReq
FROM roomBooking, modLect
WHERE roomBooking.moduleCode = modLect.mCode
AND lecturer = 'Josephine Griffits'