多个条件下编写 Case When 的更好方法
Better way to write Case When Multiple conditions
我编写了以下查询来帮助我将数据分成不同的单元格。这有 200 多个条件,所以我只提供了一个小样本。有没有更好的方法让我写这个陈述,因为研究进展不会让我做超过 50 CASE WHEN....THEN
个陈述。
SELECT
Company_0.CompanyID
,Company_0.CoaCompanyName
,(CASE
WHEN Company_0.CompanyID = 7942127 THEN 'BLUE'
WHEN Company_0.CompanyID = 7950986 THEN 'BLUE'
WHEN Company_0.CompanyID = 7955733 THEN 'BLUE'
WHEN Company_0.CompanyID = 7955922 THEN 'BLUE'
WHEN Company_0.CompanyID = 7956194 THEN 'RED'
WHEN Company_0.CompanyID = 9166261 THEN 'RED'
WHEN Company_0.CompanyID = 9167003 THEN 'YELLOW'
WHEN Company_0.CompanyID = 9167015 THEN 'YELLOW
ELSE NULL
END' AS 'CELL'
返回结果时,它应该如下所示:
ID COMPANY NAME CELL
-------------------------------------------------------
7942127 A BLUE
7950986 B BLUE
7955733 C BLUE
7955922 D BLUE
7956194 E RED
9166261 F RED
9167003 G YELLOW
9167015 H YELLOW
使用in
SELECT
Company_0.CompanyID
,Company_0.CoaCompanyName
,(CASE
WHEN Company_0.CompanyID in( 7942127,7950986,7955733,7955922 ) THEN 'BLUE'
WHEN Company_0.CompanyID in( 7956194,9166261 ) THEN 'RED'
WHEN Company_0.CompanyID in( 9167003,9167015 ) THEN 'YELLOW'
ELSE NULL
END' AS 'CELL'
我编写了以下查询来帮助我将数据分成不同的单元格。这有 200 多个条件,所以我只提供了一个小样本。有没有更好的方法让我写这个陈述,因为研究进展不会让我做超过 50 CASE WHEN....THEN
个陈述。
SELECT
Company_0.CompanyID
,Company_0.CoaCompanyName
,(CASE
WHEN Company_0.CompanyID = 7942127 THEN 'BLUE'
WHEN Company_0.CompanyID = 7950986 THEN 'BLUE'
WHEN Company_0.CompanyID = 7955733 THEN 'BLUE'
WHEN Company_0.CompanyID = 7955922 THEN 'BLUE'
WHEN Company_0.CompanyID = 7956194 THEN 'RED'
WHEN Company_0.CompanyID = 9166261 THEN 'RED'
WHEN Company_0.CompanyID = 9167003 THEN 'YELLOW'
WHEN Company_0.CompanyID = 9167015 THEN 'YELLOW
ELSE NULL
END' AS 'CELL'
返回结果时,它应该如下所示:
ID COMPANY NAME CELL
-------------------------------------------------------
7942127 A BLUE
7950986 B BLUE
7955733 C BLUE
7955922 D BLUE
7956194 E RED
9166261 F RED
9167003 G YELLOW
9167015 H YELLOW
使用in
SELECT
Company_0.CompanyID
,Company_0.CoaCompanyName
,(CASE
WHEN Company_0.CompanyID in( 7942127,7950986,7955733,7955922 ) THEN 'BLUE'
WHEN Company_0.CompanyID in( 7956194,9166261 ) THEN 'RED'
WHEN Company_0.CompanyID in( 9167003,9167015 ) THEN 'YELLOW'
ELSE NULL
END' AS 'CELL'