Case 表达式覆盖另一个 case 表达式并为 2 行输入相同的值

问题描述 投票:0回答:1

员工被分配到多个业务部门,并根据业务部门派生“个人类型”。

个人型 第 1 点。如果他们没有第 2 点中的其他业务部门并且仅位于 DIST 或 CS-IA、GS-IA,则被视为个人类型“IA”

第2点

。如果员工属于以下任何业务部门,则被视为个人类型“EMP”:CI-CLMS、CI-DIST、GS-CLMS、GS-DIST、PL-CLMS、SFCLMS、PI-CRC、PI-DRC、PI -FLDSLS、PI-HODST、EXTLV。拥有这些 BU 的任何人都应该是“EMP”,无论他们是否拥有 DIST 或 PI-IA/CI-Clms 等其他业务部门

第 3 点。

如果员工属于以下任何业务部门 - PI-IA、CI-Clms 或 PI-temp,且不属于**第 2 点中的业务部门,则被视为个人类型“CWK”。** select distinct i.lastname, I.firstname, I.empnumber, b.businessunit, case when b.businessunit = 'DIST' or b.businessunit in ('CI-IA_1') THEN 'IA' when b.businessunit in ('PLCLM8-BI') or b.businessunit in ( 'PI-FldSls2') or b.businessunit in ('PI-HODst4' ) or b.businessunit in ('EXTLV') THEN 'EMP' When b.businessunit in ('CI-ClmsTA') THEN 'CWK' END as 'individualtype' from individual i left join businessunit b on i.internalid = b.internalid WHERE I.status IN ('Active','Inactive','Pending') AND B.status = 'ACTIVE' and i.empnumber = '1617413'

我现在得到的结果:

姓氏美国能源部美国能源部
名字 员工编号 事业部 个人型
约翰 1617413 距离 IA
约翰 1617413 PI-FldSls2 电磁脉冲
预期结果:

姓氏美国能源部母鹿
名字 员工编号 事业部 个人型
约翰 1617413 距离 电磁脉冲
约翰 1617413 PI-FldSls2 电磁脉冲
个人餐桌

姓氏美国能源部线点美国能源部
名字 员工编号 内部
约翰 1617413 1
山姆 2034567 2
1256789 3
詹姆斯 2768902 4
事业单位表

员工编号1617413161741320345672034567203456720345671256789125678927689022768902
事业部 内部
距离 1
PI-FldSls2 1
EXTLV 2
PI-FldSls2 2
PI-HODst4 2
PLCLM8-BI 2
距离 3
CI-ClmsTA 3
距离 4
CI-IA_1 4
sql sql-server case
1个回答
0
投票

when b.businessunit in ('PLCLM8-BI') or b.businessunit in ( 'PI-FldSls2') or b.businessunit in ('PI-HODst4' ) or b.businessunit in ('EXTLV') THEN 'EMP'

	
© www.soinside.com 2019 - 2024. All rights reserved.