【发布时间】:2018-07-18 13:07:12
【问题描述】:
第一次在这里发帖,嗨!
我在我的 SQL 中使用了一些 XML 来拆分字符串,这很好用。
在添加计算后尝试 GROUP BY 时,我收到以下错误消息:- “列 'm.n' 在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。”
我的 sn-ps 代码是:- TA.COST / COUNT(DISTINCT(WO.FIELD1))
LTRIM(RTRIM(m.n.value('.[1]','varchar(8000)')))
CAST('' + 替换( (当 WO.FIELD1 为 NULL THEN 'UK' ELSE WO.FIELD1 END),';','') + '' AS XML) AS x
交叉应用 x.nodes('/XMLRoot/RowData')m(n)
我尝试了 'n' 和 'm.n' 但收到以下消息:- “从nodes()方法返回的列'n'不能直接使用。它只能与四种XML数据类型方法之一一起使用,exist()、nodes()、query()和value( ),或者在 IS NULL 和 IS NOT NULL 检查中。”
这里我也研究过,尝试在select和GROUP BY中使用CONVERT(VARCHAR(MAX).....,但无济于事。
我得到的错误是:“在 GROUP BY 子句中不允许使用 XML 方法”
如果需要,我可以发布代码,但我想我会先说出来。
非常感谢和问候, 莱克斯。
【问题讨论】:
-
能否编辑问题以包含完整的 SQL 语句?我认为我们需要看到整个事情,包括 group by 子句。更好的是,如果您可以将查询简化到显示问题的最低限度,那就太好了。
标签: xml