首页 > 解决方案 > 列中的逗号分隔天名称

问题描述

我有以下结构的表

在此处输入图像描述

我试图得到这样的结果

在此处输入图像描述

请指导我如何通过查询实现此结果。我尝试使用案例表达式,但它不会连接字符串。

CASE WHEN EveryDay=1 THEN @Days ='Every Day' WHEN SUN=1 THEN @Days = 'SUNDAY'

标签: sqlsql-servertsql

解决方案


这应该让你为你滚动:

SELECT CASE EveryDay WHEN 1 THEN 'Everyday'
                     ELSE STUFF(CONCAT(',' + CASE SUN WHEN 1 THEN 'SUN' END,
                                       ',' + CASE MON WHEN 1 THEN 'MON' END,
                                       ...
                                       ',' + CASE SAT WHEN 1 THEN 'SAT' END),1,1,'')
       END
FROM ...

推荐阅读