sql-server - 文本子句解释
问题描述
我正在使用我在第三方网站上发现的以下代码来帮助连接一些数据(代码有效,我只是想更好地理解它)。但是,我在辨别第 4 行中的“[text()]”子句和第 8 行中的 (' ') 的目的时遇到了麻烦(SQL 新手)。
SELECT DISTINCT ST2.[Financial Number],
SUBSTRING(
(
SELECT ','+ST1.[Clinical Event Result] AS [text()]
FROM ED_FCT_Q1_FY19 ST1
WHERE ST1.[Financial Number] = ST2.[Financial Number]
Order BY [Financial Number]
FOR XML PATH ('')
), 2, 1000) [Clinical]
FROM ED_FCT_Q1_FY19 ST2
解决方案
根据文档,使用 FOR XML 的 PATH 模式时,
对于名称为 text() 的列,将该列中的字符串值添加为文本节点
因此,在这种情况下,该列不会像在普通查询中那样被视为列名别名SELECT
,而是用于 XML 映射的目的。
推荐阅读
- javascript - JSON 数组 - 从数组中选择
- ffmpeg - 我可以使用 ffmpeg 对程序生成的视频进行编码以进行直播吗?
- reactjs - 组件不触发函数
- python - python - 如何获得df中每个组在pandas中具有MultiIndex的百分比贡献?
- powerbi - 从小计和总计行中排除特定计算
- react-native - 如何在 UI-kitten 中使用 Select 组件的 clear() 方法?
- python - Python 3 tkinter treeview,无法将数据从最后一列转移到第一列
- kubernetes-helm - 将 Helm 3 中的一个值映射到另一个值
- javascript - 尝试使用来自子组件 2 的数据更新子组件 1,而不重新渲染子组件 2
- c++ - 将枚举值转换为字符串