[英]CASE in sub query with SELECT
这是我写的查询
SELECT id, name, (SELECT is_enable FROM customers WHERE id=table_one.id) AS some_tag FROM table_one;
上面的查询返回这样的日期
ID NAME SOME_TAG
4 name 1 0
3 name 2 0
1 name 3 1
我正在尝试在上面的查询中放入一个CASE,这样我得到SOME_TAG的值为1时为“是”,0时为“否”但到目前为止没有运气。 任何帮助/线索将不胜感激! 谢谢!
到目前为止我试过这个
select id, name, (select is_enable case when is_enable is not null then "No" else "Yes" end from customers where id=table_one.id) as some_tag from table_one;
您可以使用连接而不是子查询...然后这就是案例的工作方式。
SELECT
t.id,
t.name,
case when c.is_enabled = 1 then 'Yes' else 'No' end
from
table_one t
left join customers c on
c.id = t.id
下面的代码也适用于您的问题
SELECT
id,
name,
(CASE is_enable
WHEN 1 THEN 'YES'
WHEN 0 THEN 'NO'
END) AS TAG
FROM ( SELECT id, name, (SELECT is_enable FROM customers WHERE id=table_one.id) AS some_tag FROM table_one );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.