首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何才能将SELECT id (id in(2,3,4) )作为Messageset中的idIs234

我如何才能将SELECT id (id in(2,3,4) )作为Messageset中的idIs234
EN

Stack Overflow用户
提问于 2012-11-27 19:45:25
回答 5查看 94关注 0票数 2

如何在sql server中创建这样的查询?

代码语言:javascript
复制
SELECT id, (id in(2,3,4) ) as idIs234 from Messageset 

我想要像这样的结果

代码语言:javascript
复制
id idIs234 
-----------
1 false
2 true
3 true
4 true
5 false
6 false

这段代码不能工作,但我希望有一个我不知道的替代方案。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-11-27 19:55:58

查询:

代码语言:javascript
复制
SELECT 
id,
CASE WHEN id in(2,3,4) 
      THEN 'TRUE'
      ELSE 'FALSE'
  END AS ids
FROM Messageset 

结果:

代码语言:javascript
复制
| ID |   IDS |
--------------
|  1 | FALSE |
|  2 |  TRUE |
|  3 |  TRUE |
|  4 |  TRUE |
|  5 | FALSE |
|  6 | FALSE |
票数 3
EN

Stack Overflow用户

发布于 2012-11-27 19:56:06

您可以使用CASE语句:

代码语言:javascript
复制
select id,
  case when id in (2,3,4) then 'true' else 'false' end result
from Messageset

请参阅SQL Fiddle with Demo

结果:

代码语言:javascript
复制
| ID | RESULT |
---------------
|  1 |  false |
|  2 |   true |
|  3 |   true |
|  4 |   true |
|  5 |  false |
|  6 |  false |
票数 2
EN

Stack Overflow用户

发布于 2012-11-27 19:50:16

您没有提到您使用的是哪种数据库服务器,而且没有标准的方法可以做到这一点,所以我将向您介绍如何使用MySQL来实现,使用IF function,如下所示:

代码语言:javascript
复制
SELECT id, IF(id IN ( 2, 3, 4 ) ,  'true',  'false' ) AS idIs234
FROM Messageset
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13583554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档