如何在没有“for xml”子句的情况下将 sql 结果列作为 csv 获取?
Posted
技术标签:
【中文标题】如何在没有“for xml”子句的情况下将 sql 结果列作为 csv 获取?【英文标题】:How can i get sql result column as csv without 'for xml'-clause? 【发布时间】:2013-10-16 10:23:27 【问题描述】:我想要表格中的数据
A B
- -
1 a
2 b
3 b
在这个结果表单中
A B
--- -
1 a
2,3 b
但我在 1.8 版中使用超音速,找不到“for xml”子句。
像Comma separated values in one column - SQL SERVER这样没有“for xml”的解决方案?
【问题讨论】:
【参考方案1】:SELECT
a
, MAX( CASE seq WHEN 1 THEN (b) ELSE '' END )
+ MAX( CASE seq WHEN 2 THEN (', ' + b) ELSE '' END )
+ MAX( CASE seq WHEN 3 THEN (', ' + b) ELSE '' END )
+ MAX( CASE seq WHEN 4 THEN (', ..') ELSE '' END )
AS b
FROM (SELECT
t1.a
, t1.b
, (SELECT COUNT(*) FROM t t2 WHERE t1.a = t2.a AND t2.b <= t1.b) AS seq
FROM t t1) AS temp
GROUP BY a
【讨论】:
以上是关于如何在没有“for xml”子句的情况下将 sql 结果列作为 csv 获取?的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有此错误的情况下将此 SQL 转储导入 PhpMyAdmin?
如何在没有 DB 的情况下将 sql 查询更改为 laravel 模型查询
我的 sql server 可以在没有任何 java 应用程序的情况下将消息发送到 activemq 服务器吗
如何在没有附加查询的情况下在 SQL Server 中连接没有子查询的 GROUP BY 子句中的字符串?