saa*_*hak 7 xml sql-server group-by
我正在编写一个select查询,其中我将获取多个列(通过连接3-4个表).我使用group by子句对结果进行分组.
查询 -
select ci.Candidate_Id, ci.FirstName, ci.DetailXML
from Candidate_Instance ci
where ci.Candidate_Instance_Id=2
group by
ci.Candidate_Id, ci.FirstName, ci.DetailXML
Run Code Online (Sandbox Code Playgroud)
其中一个表有一个XML数据类型的列.当我在选择列表中添加列时,我收到此错误 -
列'table.myXML'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.
当我在group by子句中添加列时,我收到此错误 -
除非使用IS NULL运算符,否则无法比较或排序XML数据类型.
我很困惑如何摆脱这个.我想从列中获取XML数据.
谢谢
Ric*_*iwi 18
您不能按XML或TEXT列进行分组,首先需要转换为varchar(max)
select ci.Candidate_Id, ci.FirstName, convert(xml,convert(varchar(max),ci.DetailXML)) DetailXML
from Candidate_Instance ci
where ci.Candidate_Instance_Id=2
group by
ci.Candidate_Id, ci.FirstName, convert(varchar(max),ci.DetailXML)
Run Code Online (Sandbox Code Playgroud)
在第一行,它被转换为varchar(max)以匹配GROUP BY子句,稍后它将重新转换回XML.
| 归档时间: |
|
| 查看次数: |
17541 次 |
| 最近记录: |