簡體   English   中英

在“ case”表達式中使用“ in”語句

[英]Use a 'in' statement inside a 'case' expression

如何在“ case表達式”中使用IN

這是我的查詢,我想如果算上任何比賽像mumbai然后發現為mumbai

 select TYPEOFPRODUCT,
        SUM(CASE(BRANCH) WHEN IN('Mumbai1' OR 'Mumbai2') THEN 1 ELSE 0 END) AS 'Mumbai'
        SUM(CASE(BRANCH) WHEN IN('Delhi1' OR 'DelhiMain') THEN 1 ELSE 0 END) AS 'Delhi'
from los_ext  
group by TYPEOFPRODUCT

親近了,您只需要用逗號分隔IN值而不是使用OR ,並且CASE表達式有兩種格式,將帶有條件的字段放在WHEN之后更加靈活,因此我更喜歡單獨使用它:

SELECT TYPEOFPRODUCT
      ,SUM( CASE WHEN BRANCH IN('Mumbai1','Mumbai2') THEN 1 ELSE 0 END) AS Mumbai
      ,SUM( CASE WHEN BRANCH IN('Delhi1', 'DelhiMain') THEN 1 ELSE 0 END) AS Delhi
FROM los_ext  
GROUP BY TYPEOFPRODUCT

它的查詢選擇各個分支的總和

select TYPEOFPRODUCT,
SUM(CASE WHEN (BRANCH = 'Mumbai1' OR BRANCH = 'Mumbai2' ) THEN 1 ELSE 0 END) AS 'Mumbai',
SUM(CASE WHEN (BRANCH = 'Delhi1' OR BRANCH = 'DelhiMain' )  THEN 1 ELSE 0 END) AS 'Delhi'
from los_ext  
group by TYPEOFPRODUCT

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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