簡體   English   中英

選擇語句Mysql上的“ in”運算符

[英]“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值都出現在ba列中:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM