问题标签 [for-xml-path]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - TSQL for xml path - 即使子查询为空,我如何包含子查询容器元素?
我构建 XML 的查询包括子查询。子记录应该进入容器元素。即使没有子记录,XML 也必须具有容器元素。
考虑以下。<Patients>
即使没有子记录或验证失败,容器元素也必须存在。
我尝试了几种不同的方法FOR XML PATH
:
上述方法将<Patients>
元素完全排除在空集之外。
下面的一个包含标签但添加了xsi:nil="true"
属性,这也会导致验证失败。
有没有办法强制容器元素存在?
sql-server - 替换“<” 和“>” 在sql server中使用“<”和“>”
嗨,我是 xml 新手
我有这样的查询
它将xml返回为
项目标签以 < 和 > 的形式显示。但是 Location 的内部标签显示为“<” 和“>” 如何用 < 和 > 替换它们
更新:问题中有一个小错误。内部 xml 不是用于 rtoid ,而是用于 Location
我将查询更新为
但还是一样
sql-server-2008 - 在不包含在选择中的 xml 路径中使用不同的内部
顶部查询在一个表中查找每个语句只有一条记录,因此如果客户有 7 条语句,则行数应为 7,查询将列出它们,如下所示 1,2,3,4,5,6 ,7
底部查询在一个表中查找,该表将包含上述 7 个语句,但通常它们会被拆分,因此如果每个语句有 2 行,则将有 14 行,即 1、1、2、2, 3,3,4,4,5,5,6,6,7,7
现在,我想要实现的是以下内容,顶部查询很好,但是底部查询需要区分。查看底部图像上的结果编号 2,我希望它返回为 1、2、3、4、5、6、7、8、9、10。
如果有一个特定的例子,语句分别上升到 8 和 4,我想要 1、2、3、4、5、6、7、8。基本上它是在大多数情况下复制底部查询的语句编号,我希望它只是对整个结果做一个不同的occross,但是我尝试放入一个不同的,它抱怨按项目排序必须包含在选择中如果声明包含在不同的内容中,这会破坏我的查询。
这两个查询的最终目的是将顶部结果集与底部结果集进行比较,并只带回不匹配的结果集(因为这意味着我在顶部查询表中缺少一条语句)
sql-server - 使用 FOR XML PATH 在 XML 中插入 SQL 查询的内容
我编写了一个存储过程,它返回包含一些生成的 SQL 查询的 nvarchar 变量,以及第二个过程,它使用 FOR XML PATH 生成 XML。我想修改生成 XML 的过程,并将生成的查询的内容从第一个过程添加到生成的 XML 中。
我生成 XML 的过程的一部分:
我不能简单地将查询的内容放入 XML,因为它包含一些特殊字符,如“<”、“>”,并且它们正在引入/结束 xml 标记。所以我认为将查询命令放入 XML 注释将解决我的问题。
我试过这个:
它没有帮助,我得到了错误:
消息 102,级别 15,状态 1,第 3 行
'<' 附近的语法不正确。
Msg 137, Level 15, State 1, Line 4
必须声明标量变量“@xml”。
Msg 137, Level 15, State 2, Line 216
必须声明标量变量“@xml”。
消息 156,级别 15,状态 1,第 217 行
关键字“FOR”附近的语法不正确。
Msg 137, Level 15, State 1, Line 219
必须声明标量变量“@xml”。
Msg 137, Level 15, State 2, Line 416
必须声明标量变量“@xml”。
消息 156,级别 15,状态 1,第 417 行
关键字“FOR”附近的语法不正确。
消息 137,级别 15,状态 1,
消息 137,级别 15,状态 2,行 540
必须声明标量变量“@xml”。
我也试过这个:
它也没有帮助。
我收到的错误消息:
消息 102,级别 15,状态 1,第 3 行
'<' 附近的语法不正确。
Msg 103, Level 15, State 4, Line 3
以 CDATA[DECLARE @xml xml SELECT TOP 1 @xml = x FROM iksemel ORDER BY id INSERT INTO ARTYKUL_TEST(ID_ARTYKULU,ID_MAGAZYNU' 开头的标识符太长。最大长度为 128 .
Msg 105, Level 15, State 1, Line 541
字符串')'后面的非闭合引号。
请帮忙
sql-server - 如何更改使用 FOR XML PATH 生成的动态 SQL 字段名称字符串以包含别名?
我有一个字符串变量,其中包含一个动态列标题列表,如下所示:
这可以很好地工作,并产生如下字符串:
但是请注意,只有第一个字段 ( ITEM_CMDT_N
) 包含别名。如果我尝试将类似的代码添加到第二个字段的别名,它看起来像这样:
并产生这样的字符串:
这显然不是我的目标。如何'valv.ITEM_CMDT_N + ' - Date'
在仍然使用 FOR XML PATH 代码的同时调整此字符串初始化以包含字段的别名?谢谢!
sql-server - tsql for XML 将值格式化为元素
我正在尝试将列中的值作为 XML 元素获取。是否可以在 sql server 中使用 For XML 来执行此操作?
我想从选择查询的单独行中获取以下内容。
这将帮助我转义值中的无效字符,以便它们可以正确地序列化为 XML。
是否可以从 FOR XML 查询中获得此返回?
tsql - 防止在 XML 中出现行
我有以下表格和内容:
由此我需要创建以下 XML 布局:
我试图通过以下语句来实现这一点,这给了我太多的行和重复:
谁能帮我这个?顺便说一句,我正在使用 SQL Server 2008。这将不胜感激。
最好的问候,韦斯
sql-server - SQL SERVER 中的 XML PATH 值
我正在使用 XML PATH 绑定多值列,查询工作正常,但结果是 xml 格式,我想将其转换为简单文本这是查询
“项目”字段的结果就像
但我希望它像 cake,soap
php - MSSQL xml path() 查询在 PHP 中不起作用
以下查询在 Microsoft SQL Server Management Studio 中执行时工作正常,但是当我通过 php 运行查询时,我没有得到任何输出(mssql_query() 之后的任何内容都不会呈现)。
如果我for xml path('')
从 SQL 查询中删除并再次在 php 中运行,那么现在 mssql_query() 之后的所有内容都会被渲染)。
有谁知道 xml path('') 和 PHP 的任何问题,或者我是否做错了什么。
PHP
请注意:永远不会呈现以下或死错误。
sql - 为什么 STUFF 和 FOR XML PATH 不集中?
我有这两张桌子
现在当运行这个查询时,我得到
但我应该得到:
我不明白我做错了什么。