首页 > 解决方案 > 单独连接的 Case When 语句

问题描述

我想知道是否有办法将这个语句分开并创建一个像一,二 - 或二,三这样的句子。除非有以下内容,否则分隔符不能工作。

case when d1.code = 'X' then 'One' else '' end +
case when d2.Code = 'Y' then 'Two' else '' end +
case when d3.code = 'Z' then 'Three' else '' end as PlzHelp

标签: sqlsql-server

解决方案


如果您使用的是最新版本的 SQL Server,请使用CONCAT_WS

SELECT CONCAT_WS(',', CASE WHEN d1.code = 'X' THEN 'One' END,
                      CASE WHEN d2.Code = 'Y' THEN 'Two' END,
                      CASE WHEN d3.code = 'Z' THEN 'Three' END) AS PlzHelp
...

推荐阅读