[英]“in” operator on select statement Mysql
我試圖在幾行上執行“輸入”:
case when (select distinct A from b ) in ('test,'y') then 2
我收到一個錯誤:“子查詢返回了多行”。 有辦法使它起作用嗎?
編輯:
這個解決方案為我工作:
case when exists (select distinct a from b
where a in ('test','y')) then 2
感謝大家。
select count(*) from b
where a in ('x','y')
為了使其在概念上相似:
CASE WHEN EXISTS (SELECT 1 FROM b WHERE a IN ('test', 'y')) THEN 2
如果您需要兩個IN
值都出現在b
的a
列中:
CASE WHEN (SELECT COUNT(DISTINCT a) FROM b WHERE a IN ('test','y'))=2 THEN 2
或者,如果您只想返回IN
條件下的不同值的數量,則不需要CASE
:
SELECT COUNT(DISTINCT a) FROM b WHERE a IN ('test','y')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.