我想在表中插入多行,但每行的值将从子查询中获取。
这是伪代码我想要什么:
INSERT INTO Entries VALUES
(
@Date,
(SELECT Users.ID
FROM Users),
@Enter,
@Leave
)
用户当然有多行。
我该怎么做?
答案 0 :(得分:3)
您需要insert . . . select
形式的insert:
INSERT INTO Entries
SELECT @Date, Users.ID , @Enter, @Leave
FROM Users;
你应该养成明确列出列的习惯;这是使用SQL时的好习惯。类似的东西:
INSERT INTO Entries(Date, UserId, Enter, Leave)
SELECT @Date, Users.ID , @Enter, @Leave
FROM Users;
答案 1 :(得分:0)
尝试这个未经测试的查询:
INSERT INTO Entries (SELECT @Date,Users.ID , @Enter, @Leave FROM Users)