我想知道如何从多个SQL CASE
表达式输出连接字符串。SQL Server:CASE和连接字符串
这是我的查询:
SELECT
u.UserId,
FirstName,
CASE u.access_b
WHEN '5000' THEN 'Active'
ELSE ''
END AS B,
CASE u.access_l
WHEN '2199-12-31' THEN 'Active'
ELSE ''
END AS LK
FROM
Users u
JOIN
userGroupMembership ugm ON u.userId = ugm.userId
JOIN
usergroup ug ON ug.usergroupId = ugm.usergroupId
WHERE
ug.usergroupId = 1220
AND (u.primaryType = 1 or u.primaryType = 2)
我得到这个:
因此,而不是两列B和LK,我想介绍一个新的列这将称为访问级别,如果B是活动的或者LK是活动的,则根据每个程序添加B或LK。例如,如果仅B激活,则“访问级别”列的输出将为B,如果两个程序均处于活动状态,则输出为“B,LK”,如果LK仅处于活动状态,则列将具有LK的值。
我可以选择连接多个案例查询的列值吗?
谢谢,Laziale
如果我理解正确的话,我不认为这是可能没有一个子查询。我假设你不想这样,对吧? – stb
只要我能够以正确的方式获得所需的数据,任何方法都可以工作。谢谢 – Laziale