如何检查整型数组中是否存在值-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