1

私のコード:

   'Status' = 
       CASE  
           WHEN @ID = 2 AND Stud.Status = 'N' THEN 'To Be Submitted'
           WHEN Stud.Status = 'N' THEN 'N/A' 
           ELSE ISNULL(Stud.Status, '') 
        END

Insert最初の条件が満たされた場合、つまり次のコードの後に​​ステートメントを追加したいと思います。Insertここにステートメントを追加する方法。

WHEN @ID = 2 AND Stud.Status = 'N' THEN 'To Be Submitted'

ありがとう。

4

2 に答える 2

2
INSERT INTO [DestinationTable]
SELECT
    [MyColumn1]
FROM
    [SourceTable]
WHERE
    @ID = 2 AND
    Stud.Status = 'N'
于 2013-01-03T08:01:37.807 に答える
0

クエリをストアドプロシージャにし、最初のクエリを一時テーブルに追加してから、必要なものに分割します...例:

DECLARE @TempTable TABLE (Name NVARCHAR(50), Status NVARCHAR(50))

INSERT INTO @TempTable
SELECT Name, 
   CASE  
       WHEN @ID = 2 AND Stud.Status = 'N' THEN 'To Be Submitted'
       WHEN Stud.Status = 'N' THEN 'N/A' 
       ELSE ISNULL(Stud.Status, '') 
    END as Status
FROM [Table]
WHERE [column] = 'value';

次に、その一時テーブルを使用して挿入を実行します

INSERT INTO [MyTable]
SELECT TOP 1 Name, Status 
FROM @TempTable
WHERE Status = 'To Be Submitted';

このように、必要なものだけを挿入します

最初の条件が満たされた場合にInsertステートメントを追加したい

TOP 1それを確認します

于 2013-01-03T08:04:16.057 に答える