2016-03-03 60 views
1

我有这样的选择:如何根据另一个字段的值返回select中的值?

CREATE PROCEDURE [dbo].[get_tests] @UserTestId INT 
AS 
    SET NOCOUNT ON 
    SELECT A.CompletedDate,  
     A.ID,    
     Current  -- need to set this field to a 1 or 0    
     A.UserTestId, 
     ... 

没有现场叫Current在表中,但我想有将如果A.UserTestId = @UserTestId被设置为1场。

有人可以告诉我我该如何做到这一点?

+4

'Current = CASE WHEN A.UserTestId = @UserTestId THEN 1 ELSE 0 END,'' – Devart

回答

4

使用CASE表达式来评估select子句中的另一个字段。

CREATE PROCEDURE [dbo].[get_tests] @UserTestId INT 
AS 
    SET NOCOUNT ON 
    SELECT A.CompletedDate,  
     A.ID,    
     CASE A.UserTestId WHEN @UserTestId THEN 1 ELSE 0 END AS Current, 
    A.UserTestId, 
相关问题