我正在尝试使用这样的 sql 命令,但由于一些明显的原因它不起作用。你能告诉我这种命令的出路是什么吗?
INSERT INTO ContentToGroup(ContentId,ClassSectionId)
VALUES (16, Select ClassSectionId from ClassSectionMaster where ClassId=1)
我正在尝试使用这样的 sql 命令,但由于一些明显的原因它不起作用。你能告诉我这种命令的出路是什么吗?
INSERT INTO ContentToGroup(ContentId,ClassSectionId)
VALUES (16, Select ClassSectionId from ClassSectionMaster where ClassId=1)
INSERT INTO ContentToGroup (ContentId,ClassSectionId)
Select 16, ClassSectionId
from ClassSectionMaster
where classid = 1
您不能将INSERT .... VALUES....
与“内联”选择语句混合使用。使用VALUES
关键字,您必须提供所有值作为文字或 SQL 变量。
您需要先选择值并将其分配给变量:
DECLARE @ClassSectionID INT
SELECT @ClassSectionID = ClassSectionID
FROM dbo.ClassSectionMaster WHERE ClassId = 1
INSERT INTO ContentToGroup(ContentId,ClassSectionId)
VALUES (16, @ClassSectionID)
或者然后使用SELECT
其他人显示的语句来提供所有值(然后省略VALUES
关键字)
INSERT INTO ContentToGroup(ContentId,ClassSectionId) Select 16, ClassSectionId from ClassSectionMaster where ClassId=1
首先,您需要在使用嵌套查询时删除 VALUES。还请尝试在字段名称前面指定表名称,以防导致您的歧义。
INSERT INTO ContentToGroup(ContentId,ClassSectionId)
SELECT 16, ClassSectionMaster.ClassSectionId
FROM ClassSectionMaster
WHERE ClassSectionMaster.ClassId=1