如何在sql server中创建这样的查询?
SELECT id, (id in(2,3,4) ) as idIs234 from Messageset 我想要像这样的结果
id idIs234
-----------
1 false
2 true
3 true
4 true
5 false
6 false这段代码不能工作,但我希望有一个我不知道的替代方案。
发布于 2012-11-27 19:55:58
查询:
SELECT
id,
CASE WHEN id in(2,3,4)
THEN 'TRUE'
ELSE 'FALSE'
END AS ids
FROM Messageset 结果:
| ID | IDS |
--------------
| 1 | FALSE |
| 2 | TRUE |
| 3 | TRUE |
| 4 | TRUE |
| 5 | FALSE |
| 6 | FALSE |发布于 2012-11-27 19:56:06
您可以使用CASE语句:
select id,
case when id in (2,3,4) then 'true' else 'false' end result
from Messageset请参阅SQL Fiddle with Demo
结果:
| ID | RESULT |
---------------
| 1 | false |
| 2 | true |
| 3 | true |
| 4 | true |
| 5 | false |
| 6 | false |发布于 2012-11-27 19:50:16
您没有提到您使用的是哪种数据库服务器,而且没有标准的方法可以做到这一点,所以我将向您介绍如何使用MySQL来实现,使用IF function,如下所示:
SELECT id, IF(id IN ( 2, 3, 4 ) , 'true', 'false' ) AS idIs234
FROM Messagesethttps://stackoverflow.com/questions/13583554
复制相似问题