是或否作为没有IF或CASE使用的SQL查询的结果

时间:2015-04-28 16:12:03

标签: mysql sql

有没有办法在没有使用Flow Control操作符的情况下进行查询并返回'yes'或'no'作为答案?

我认为唯一的解决方案是:

select 'yes' as answer 
from blabla
where blabla

但这当然只有在查询找到一些结果时才有效。

2 个答案:

答案 0 :(得分:5)

我喜欢你的blabla,但却不了解你的目标。

IF()声明或CASE WHEN ELSE END有什么问题?

如果您喜欢blabla代码,可以继续使用相同的逻辑:

select 'yes' as answer 
from blabla
where blabla.column=1
UNION
select 'no' as answer 
from blabla
where blabla.column<>1

这是另一个棘手的解决方案:

http://sqlfiddle.com/#!9/76065/24

SELECT @answer
FROM (
  SELECT @answer:='yes' 
  FROM blabla
  WHERE blabla.id=5
) y
RIGHT JOIN (SELECT @answer:='no') n
ON 1; 

答案 1 :(得分:0)

您可能需要COALESCE

select coalesce(
    select 'yes' as answer 
    from blablaT
    where blabla,
    select 'no' as answer 
    from blablaT
    where not blabla) as result from dual;