我試圖使用這樣的sql命令,但它不工作的一些顯而易見的原因。你能告訴我這種類型的命令的出路是什麼?Sql insert command ambiguity
INSERT INTO ContentToGroup(ContentId,ClassSectionId)
VALUES (16, Select ClassSectionId from ClassSectionMaster where ClassId=1)
我試圖使用這樣的sql命令,但它不工作的一些顯而易見的原因。你能告訴我這種類型的命令的出路是什麼?Sql insert command ambiguity
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....
與 「內聯」 SELECT語句。使用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
我認爲SO應該有一個「x人正在回答」在某處顯示。因爲我們都發布了幾乎相同的答案 – Ben
+1。我進來第二次:) –
謝謝先生!!!!!!! – Naresh