0

このようなSQLコマンドを使用しようとしていますが、いくつかの明らかな理由で機能していません.このタイプのコマンドの解決策を教えていただけますか?

   INSERT INTO ContentToGroup(ContentId,ClassSectionId)  
   VALUES (16, Select ClassSectionId from ClassSectionMaster where ClassId=1)
4

4 に答える 4

4
INSERT INTO ContentToGroup (ContentId,ClassSectionId)
Select 16, ClassSectionId
from ClassSectionMaster
where classid = 1
于 2011-06-20T05:59:18.463 に答える
2

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キーワードを省略します)

于 2011-06-20T06:01:19.500 に答える
2
INSERT INTO ContentToGroup(ContentId,ClassSectionId) Select 16, ClassSectionId from ClassSectionMaster where ClassId=1
于 2011-06-20T06:01:39.940 に答える
1

ネストされたクエリを使用している場合は、最初に VALUES を削除する必要があります。また、あいまいさを引き起こしている場合に備えて、フィールド名の前にテーブル名を指定してみてください。

INSERT INTO ContentToGroup(ContentId,ClassSectionId) 
    SELECT 16, ClassSectionMaster.ClassSectionId 
    FROM ClassSectionMaster 
    WHERE ClassSectionMaster.ClassId=1
于 2011-06-20T06:05:14.583 に答える