连接多个 case when 语句的结果

Arn*_*501 2 t-sql sql-server-2005

我想在满足条件时显示建立在 when 语句上的多个字符串的串联。如下 :

select

case
  when T1.Field is not null then 'T1,' 
  when T2.Field is not null then /*last results*/ + 'T2,' 
  when T3.Field is not null then /*last results*/ + 'T3,'
end


from T1 
left outer join T2 on ...
left outer join T3 on ...
Run Code Online (Sandbox Code Playgroud)

Arn*_*501 6

终于发现了......我之前没有意识到这是可能的:

select

  case when T1.Field is not null then 'T1,' else '' end
+ case when T2.Field is not null then 'T2,' else '' end
+ case when T3.Field is not null then 'T3,' else '' end as result

from T1 
left outer join T2 on ...
left outer join T3 on ...
Run Code Online (Sandbox Code Playgroud)