2016-03-03 41 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, 
相關問題