[英]How return a value with mysql query depending on condition
我有下一個 mysql 表:
Table(cl_convenios_do_medico)
id auto_increment
med_id int
conv_id int
我想要一個 sql 返回“1”:
否則返回'0'
我已經嘗試過:
select IFNULL( (select '1' from cl_convenios_do_medico CC where
CC.med_id=<my_med_id> and CC.conv_id=<my_conv_id> )
and exists(select '1' from cl_convenios_do_medico CC where CC.med_id=<my_med_id> limit 1),'0') as result
如果表不為空時似乎可以工作,但如果表為空則失敗。
也許有人有一個更簡單的解決方案。
您可以使用 CASE 語句
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
做這樣的事情
SELECT MAX(result)
FROM (
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END AS result
FROM cl_convenios_do_medico
WHERE med_id = 8
AND conv_id = 9
UNION
SELECT CASE WHEN COUNT(*) = 0 THEN 1 ELSE 0 END
FROM cl_convenios_do_medico
) c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.