Вставить в несколько вариантов выбора с ОШИБКОЙ 1242: Подзапрос возвращает более 1 строки

У меня есть таблица foo1 со столбцами UserID,TimeStamp; foo2 со столбцами userID, уровень и таблица foo3 со столбцами userID, отметка времени.

Я хочу вставить в foo1 все строки из foo3, где UserID существует в таблице foo2.

Я получаю ОШИБКУ 1242: Подзапрос возвращает более 1 строки со следующим

INSERT into foo1 (UserID,TimeStamp)
SELECT  
(SELECT UserID from foo2 as UserID),

(SELECT foo3.TimeStamp
from foo3
inner join foo2
ON foo3.UserID=foo2.UserID) as TimeStamp

1 ответ

Решение

Если вы хотите ВСТАВИТЬ в foo1 все строки из foo3, где UserID существует в таблице foo2, то вам нужно пройти через это:

ВСТАВИТЬ в foo1 (UserID,TimeStamp)
ВЫБЕРИТЕ foo3.UserID,foo3.TimeStamp
от foo3
внутреннее соединение foo2
ON foo3.UserID=foo2.UserID
Другие вопросы по тегам