如何根据另一个字段的值返回select中的值?

时间:2016-03-03 12:26:52

标签: sql sql-server tsql

我有这个选择:

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。

有人能告诉我如何做到这一点吗?

1 个答案:

答案 0 :(得分: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,