![]() |
1
2
这是一种在SQLServer2005/2008中使用XMLDML的更直接的方法,尽管它有一点模糊。因为你不能插入sql:直接变量使用XML数据类型的.modify(insert)方法将XML片段转换为字符串,将它们连接起来,然后将它们重新转换为XML,将第二个片段移到第一个片段的内部并删除第二个片段的剩余部分。实施情况并不像听起来那么糟糕:
这将返回以下内容,这正是您想要的:
如何获得XML片段完全取决于您,但这应该足以让您开始。 |
![]() |
2
0
创建一个将调用XmlDocument.LoadXml(). DocumentElement(根)只是任何其他XmlNodeList。 |
![]() |
3
0
纯T-SQL解决方案的最大障碍是字符串连接。我提出的这个小小的T-SQL解决方案应该能做到这一点,而且运行速度很快。不过,最好将其封装到一个UDF中。
|
![]() |
4
0
--时间表是你的表。字段OrderId是必需的,我假设您的表中存在。 create table #t (OrderId int, f xml) insert #t values (6,'') insert #t values (6,'') select 1 as tag, null as parent, t.OrderId as [Order!1!!hide], f.value('(/Order/@date)[1]','varchar(10)') as [Order!1!data], f.value('(/Order/@customerID)[1]','int') as [Order!1!customerID], null as [OrderItems!2!!hide], null as [OrderItem!3!OrderID], null as [OrderItem!3!ItemID], null as [OrderItem!3!quantity] from #t as [t] where f.value('(/Order/@date)[1]','varchar(10)') is not null -- if is possible change the condition using another field union all select distinct 2 as tag, 1 as parent, t.OrderId as [Order!1!!hide], null as [Order!1!data], null as [Order!1!customerID], 1 as [OrderItems!2!!hide], null as [OrderItem!3!OrderID], null as [OrderItem!3!ItemID], null as [OrderItem!3!quantity] from #t as [t] union all select 3 as tag, 2 as parent, t.OrderId as [Order!1!!hide], null as [Order!1!data], null as [Order!1!customerID], 1 as [OrderItems!2!!hide], f.value('(/OrderItem/@OrderID)[1]','int') as [OrderItem!3!OrderID], f.value('(/OrderItem/@ItemID)[1]','int') as [OrderItem!3!ItemID], f.value('(/OrderItem/@quantity)[1]','int') as [OrderItem!3!quantity] from #t as [t] where f.value('(/OrderItem/@OrderID)[1]','int') is not null-- if is possible change the condition using another field ORDER BY [Order!1!!hide], [OrderItems!2!!hide], [OrderItem!3!OrderID] FOR XML EXPLICIT, ROOT('Orders'), TYPE |
|
J_Cus504 · 在单匹配语句中使用身份变换和多谓词来沉默节点 4 月前 |
![]() |
surge3333 · 使用PowerShell构建XML 4 月前 |
|
Sandeep · XSLT代码,用于根据条件提取元素值 6 月前 |
|
Reto · XSLT 3.0突发流-如何存储/获取另一个分支的值 6 月前 |
![]() |
Ian Kemp · 如何从SelectXml调用本机XPath函数? 6 月前 |