我有一个看起来像这样的数据:SQL逗号分隔的多个列列表
CUSTOMER_ID OPERDAYSJUL OPERDAYSAUG OPERDAYSSEP ... OPERDAYSJUN
1 30 15 2
2 5 1 0
3 6 0 12
4 12 5 23
对于每个CUSTOMER_ID,我想说明一个逗号分隔的列表,它月份客户操作:
CUSTOMER_ID OPERATING_MONTHS
1 Jul, Aug, Sep
2 Jul, Aug
3 Jul, Sep
4 Jul, Aug, Sep
等等。我如何使用SQL Server 2005 SQL(而不是T-SQL)轻松生成这个以逗号分隔的列表?
大多数解决方案我在这里看到的堆栈溢出和其他地方似乎基于加入多行值,而不是列值创建逗号分隔的列表:
- T-SQL
- FOR XML PATH(“” )
- 相关子查询加上REPLACE/STUFF/SUBSTRING
我失去了一些东西明显?在此先感谢您的帮助或指向适当的现有解决方案。
你为什么说 “没有T-SQL”? T-SQL只是SQL Server使用的SQL方言的名称。 http://en.wikipedia.org/wiki/Microsoft_SQL_Server#T-SQL – LukeH 2009-10-21 21:05:44
感谢您对卢克的洞察力;我似乎错误地使用了这个术语。我想限制答案为简单的SELECT查询语法,不受本地变量,临时表,循环等影响。再次感谢。 – iokevins 2009-10-21 21:05:45