2

我有表 foo1 与列 UserID,TimeStamp; foo2 具有列 userID、Level 和表 foo3 具有列 userID、Timestamp。

我想将来自 foo3 的所有行插入到 foo1 中,其中 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
4

1 回答 1

5

如果您想将 foo3 中的所有行插入到 foo1 中,其中 UserID 存在于表 foo2 中,那么您应该执行以下操作:

插入 foo1(用户 ID,时间戳)
选择 foo3.UserID,foo3.TimeStamp
来自 foo3
内连接 foo2
ON foo3.UserID=foo2.UserID
于 2015-02-14T07:10:15.040 回答