如何检查整型数组中是否存在值-SQL case语句

如何检查整型数组中是否存在值-SQL case语句,sql,sql-server,Sql,Sql Server,我正在寻找一种解决方案来检查数组中是否存在值,因此我需要基于该值切换列 这是表格结构 ID Name ------------------- 1 Alex 2 John 3 Joel 4 Philip 5 Susan 6 Tim 7 Jerry ------------------------- 所以条件是我需要所有的行,但是第三列是基于存在逻辑的。也就是说,如果ID存在于(1,5,7)中,则第三列是T,否则该列将是W。因此结果如下

我正在寻找一种解决方案来检查数组中是否存在值,因此我需要基于该值切换列

这是表格结构

ID    Name
-------------------
1     Alex
2     John
3     Joel
4     Philip
5     Susan
6     Tim
7     Jerry
-------------------------
所以条件是我需要所有的行,但是第三列是基于存在逻辑的。也就是说,如果ID存在于(1,5,7)中,则第三列是T,否则该列将是W。因此结果如下

ID    Name      status
-------------------
1     Alex      T
2     John      W
3     Joel      W
4     Philip    W
5     Susan     T
6     Tim       W
7     Jerry     T
-------------------------

谢谢

此查询将非常有用

 DECLARE @Test Table
(
    Id Integer,
    Name VARCHAR(10)
)

INSERT INTO @Test 

SELECT 1,   'AAA'    UNION ALL
SELECT 2,   'BBB'   UNION ALL
SELECT 3,  'CCC'    UNION ALL
SELECT 4,  'DDD'    UNION ALL
SELECT 5,  'EEEE'    UNION ALL
SELECT 6,   'FFFF'    UNION ALL
SELECT 7,  'RRRR' 

select *, CASE WHEN Id iN (1,5,7) 
            THEN 'T' 
            ELSE 'D' 
          END AS STATUS 
FROM @Test
 DECLARE @Test Table
(
    Id Integer,
    Name VARCHAR(10)
)

INSERT INTO @Test 

SELECT 1,   'AAA'    UNION ALL
SELECT 2,   'BBB'   UNION ALL
SELECT 3,  'CCC'    UNION ALL
SELECT 4,  'DDD'    UNION ALL
SELECT 5,  'EEEE'    UNION ALL
SELECT 6,   'FFFF'    UNION ALL
SELECT 7,  'RRRR' 

select *, CASE WHEN Id iN (1,5,7) 
            THEN 'T' 
            ELSE 'D' 
          END AS STATUS 
FROM @Test