46

質問がありINSERT INTO SELECTます。ステートメントにはSELECT、フィールドに増分番号を追加するサブクエリがあります。このクエリは、SELECTクエリが 1 つのレコードのみを返す場合は正常に機能しますが、複数の行を返す場合は、それらすべての行のインクリメンタル フィールドに同じ番号を挿入します。毎回増分番号を追加するように制限する方法はありますか?

INSERT INTO PM_Ingrediants_Arrangements_Temp 
(AdminID,ArrangementID,IngrediantID,Sequence)
(SELECT 
     @AdminID, @ArrangementID, PM_Ingrediants.ID, 
     (SELECT 
          MAX(ISNULL(sequence,0)) + 1 
      FROM
          PM_Ingrediants_Arrangements_Temp 
      WHERE 
          ArrangementID=@ArrangementID)
FROM 
    PM_Ingrediants 
WHERE 
    PM_Ingrediants.ID IN (SELECT 
                              ID 
                          FROM 
                              GetIDsTableFromIDsList(@IngrediantsIDs))
)
4

1 に答える 1