gpt4 book ai didi

sql-server - 如何防止 SQL Server 连接具有相同名称的 XML 结果

转载 作者:数据小太阳 更新时间:2023-10-29 02:32:48 25 4
gpt4 key购买 nike

我正在尝试使用 SQL 2008 中的 XML 功能生成一个 XML 文档,但我遇到了一个问题,该文档要求两个节点具有相同的名称,但 SQL Server 会自动连接任何具有相同名称的节点。

例如:

<Location>
<Address>Some Street</Address>
<Address>Some other info</Address>
</Location>

问题是当我尝试通过执行下面的 SQL 来执行此操作时,我得到:

<Location>
<Address>Some StreetSome other info</Address>
</Location>

以下是我选择数据的方式:

 SELECT CustomerStreet1 AS 'location/address',
CustomerStreet2 AS 'location/address'
FROM Customers
FOR XML PATH('Customer')

虽然在两个地址字段之间选择另一个节点可以满足我的要求,但我需要能够将两个地址节点保持在一起。

最佳答案

WITH    customers (id, CustomerStreet1, CustomerStreet2) AS
(
SELECT 1, 'Some Street', 'Some other info'
UNION ALL
SELECT 2, 'Second Street', NULL
)
SELECT id,
(
SELECT *
FROM (
SELECT CustomerStreet1 AS Address
UNION ALL
SELECT CustomerStreet2
) q
FOR XML PATH(''), TYPE
)
FROM customers
FOR XML PATH('Customers')

关于sql-server - 如何防止 SQL Server 连接具有相同名称的 XML 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2148735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com