mysql - 带有 IN 和 SELECT 子查询的 CASE

标签 mysql sql subquery case

我想在 CASE 逻辑中使用 Select 子查询执行 IN 语句(MySQL 方言一直在使用)

所以查询的思路是这样的:

select a.client_id,
(case when a.client_id in (select distinct a.client_id from account a
where a.display_name='b') then '1' else '0' end) as binary
from account a
group by a.client_id
order by a.client_id

它显示错误,所以我想知道如何替换和重写它?

谢谢!

最佳答案

我认为您根本不需要子查询。试试这个:

select a.client_id,
case when a.display_name = 'b' then '1'
else '0' end as binary
from account a
group by a.client_id
order by a.client_id

关于mysql - 带有 IN 和 SELECT 子查询的 CASE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39982881/

相关文章:

mysql - 带 CaseBuilder 的 EnumPath(QueryDSL 3.6.2)

sql - 需要有关 SQL 中复杂排序的帮助

php - store 函数不将数据保存到数据库

sql - MySql - 使用连接的子查询插入多行?

Mysql过滤子查询

MySQL-将第一个查询结果合并到第二个查询的列中

mysql - “启动”是一种类型,在给定上下文中无效

php - 如何在php mysql gallery中实现fancybox,gallery是上传文件夹的路径

sql - 更新语句非常慢

sql - 使用子查询时查询失败