2014-11-10 6 views
-1

Я хочу использовать подзапрос, чтобы перечислить код модуля, код комнаты, день и время для всех лекций с участием лектора под названием «Жозефина Гриффит» в моей базе данных, но я не могу получить его работать.Sub-Query SQL Access SQL

SQL-запрос Я пытаюсь это

SELECT moduleCode, roomCode, dayReq, timeReq 
FROM roomBooking 
WHERE moduleCode 
(SELECT mCode 
FROM modLect 
WHERE lecturer = "Josephine Griffith"); 

Когда я выполняю это, я получаю

В большинстве одной записи может быть возвращен этим подзапрос.

ответ

1

вы пропустите IN ключевое слово

SELECT moduleCode, roomCode, dayReq, timeReq 
FROM roomBooking 
WHERE moduleCode IN 
(
    SELECT mCode 
    FROM modLect 
    WHERE lecturer = 'Josephine Griffith' 
); 
0

SQL, вы выложили не правильно, вам не хватает оператора.

Возможно, вы используете = но если подзапрос возвращает более чем на 1 строку, вы должны использовать в

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'