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';

这样你只插入你需要的东西

如果满足第一个条件,我想添加一个插入语句

TOP 1将确保这一点

于 2013-01-03T08:04:16.057 回答