【发布时间】:2023-03-15 22:15:01
【问题描述】:
我有两张桌子
tmpEntityAddress
EntityId Address
________ _______
5 <Address />
5 <Address />
7 <Address />
tmpEntityAddresses
EntityId XML
________ _______
5 <Addresses />
5 <Addresses />
我想将各种地址文档分组并插入到第二个表中的单个地址文档中。粗略的基本架构如下所示:
<Addresses>
<Address>
<Street />
<PostCode />
</Address>
<Address>
<Street />
<PostCode />
</Address>
</Addresses>
我无法完全理解如何使用 XML DML 语言功能在 SQL 中执行此操作,例如 XML 插入等 https://docs.microsoft.com/en-us/sql/t-sql/xml/xml-data-modification-language-xml-dml
我在想我可以做到以下几点:
update tmpEntityAddresses
set
XML.modify('insert sql:column("Address") into (/Addresses)[1]'
from
tmpEntityAddresses
join #tmpEntityAddresses on tmpEntityAddresses.EntityId = tmpEntityAddress.EntityId
但它似乎只从#tmpEntityAddress 添加一行,这不是我想要的,因为我需要整个集合。
这可以通过 SQL 实现吗?如果可以,如何实现?
【问题讨论】:
-
Addresses中预先存在哪些其他内容? -
@Shnugo
元素等一堆地址相关数据。我对其进行了编辑,因为我认为它与手头的问题无关。
标签: sql sql-server xml tsql xml-dml