使用Group By子句的SQL逗号分隔行
发布时间:2020-12-12 16:11:16 所属栏目:MsSql教程 来源:网络整理
导读:我有以下查询: SELECT Account,Unit,SUM(state_fee),CodeFROM tblMtaWHERE MTA.Id = '123'GROUP BY Account,Unit 这当然会引发异常,因为代码不在group by子句中.每个state_fee都有一个代码.如何将此代码显示为1个记录(每个state_fee为1个代码,单位为多个stat
我有以下查询:
SELECT Account,Unit,SUM(state_fee),Code FROM tblMta WHERE MTA.Id = '123' GROUP BY Account,Unit 这当然会引发异常,因为代码不在group by子句中.每个state_fee都有一个代码.如何将此代码显示为1个记录(每个state_fee为1个代码,单位为多个state_fee),以逗号分隔的列表?我在这里考察了不同的解决方案,但是我找不到与一个团队合作的任何方法. 解决方法您要使用FOR XML PATH构造:SELECT ACCOUNT,unit,Stuff((SELECT ',' + code FROM tblmta t2 WHERE t2.ACCOUNT = t1.ACCOUNT AND t2.unit = t1.unit AND t2.id = '123' FOR XML PATH('')),1,2,'') [Codes] FROM tblmta t1 WHERE t1.id = '123' GROUP BY ACCOUNT,unit 请参阅其他示例: > SQL same unit between two tables needs order numbers in 1 cell (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL Server 重温事务的简单示例
- 如何处理这个错误(1049,“未知数据库”/ users / ohyunjun
- 数据库 – Win8 Metro风格应用程序中的结构化数据的本地存储
- SqlServer 数据页损坏还原测试
- SQLServer中对时间和长度的处理
- SQL Server sql ntext数据类型字符替换的简单示例
- sql-server-2008 – 使用正确的小数分隔符将float转换为var
- SID,DB名称,DB域,全局数据库名称,服务名称,服务别名和实例名
- sql-server – 如何使用MSSQL,重建所有表上的所有索引? MS
- 数据库 – mysqldump – where with =运算符不能获取所有行