我有这样一张桌子:

YEAR    int,
Fields  XML

我的XML列对所有行都有这种结构,但具有不同的值:

在此输入图像描述

我怎么能得到这个结果:

YEAR         ID           NAME             LASTNAME
---------------------------------------------------
2011         1000         Nima               Agha
2011         1001         Begha              Begha
2011         1002         Jigha              Jigha
2011         1003         Aba                Aba
2012         1034         AAA                BBB
...

谢谢

===============>>#1 票数:11 已采纳

这个怎么样:

 SELECT 
     Year,
     E.P.value('(ID)[1]', 'INT') AS 'ID',
     E.P.value('(Name)[1]', 'VARCHAR(50)') AS 'Name',
     E.P.value('(LastName)[1]', 'VARCHAR(50)') AS 'LastName'
 FROM 
     dbo.YourTable 
 CROSS APPLY
     Fields.nodes('/Employees/Person') AS E(P)

您基本上从基表中选择Year ,然后从Fields列中将每个<Person>节点提取到名为E的“内联XML表”中,并使用一个名为P XML列(您可以选择您喜欢的任何名称)您再次查询并从中提取单个元素。

  ask by Arian translate from so

未解决问题?本站智能推荐:

1回复

使用T-SQL查询的XML节点中的拾取值

我想在其父节点是<interv>标签的每个<val>标签中获取值。 如果您在下面的示例中看到此内容。 我在<val>标签48和1500中有两个值。 我的查询返回481500。我在下面显示了一个示例xml和查询。 在其他一些xml中,我可能有10个以
1回复

使用TSQL和For XML Path生成XML输出

我有3个临时表,它们全部由3个独立的查询填充,并以1对1的关系相互关联,这些表是DemographicRecord,GPRegistrationDetails,MaternityBookingDetails。 所有3列之间的列均不同,但每个列均共享PatientID键。 我的问题是使用XML
2回复

在SQL Server中以XML数据类型转换XML

我有一个叫做标签的表,看起来像这样: 我还有另一个表,其中有一个称为标签的XML数据类型列。 我想合并来自这两个表的数据,以创建一个单一的视图,看起来像这样。 节点内的数字应作为“标签”表的外键。 是否可以创建这样的视图? 我怎么做?
2回复

使用名称空间更新SQL Server中的XML属性

我有一个带有xml列“ Data”的表。 我的要求是在升级代码时更改属性Uri和InstanceName。 我在下面写了更新语句来完成这项工作。 执行时,我看到1行受到影响,但不幸的是它没有更新任何内容。 任何帮助将不胜感激。 谢谢!。 这是“数据”列中的示例数据。
2回复

如何使用t-sql更新xml变量中的xml属性值?

我们有一个示例代码段: 我不知道如何更新属性abb的值。
2回复

结合来自T-SQL的XML

我有两个单独的表TV和Receivers,我使用FOR XML PATH命令来构建XML。 我的问题是我想将TV XML Build的输出与我的Receiver XML Build结合起来创建一个XML输出。 所以我会有这样的东西(这使我能够在FilterData Root中保持电视和接
2回复

在SQL Server 2008 R2中查询复杂的XML

我试图通过SQL Server 2008 R2中的XML进行解析,但是遇到了一些问题。 我正在尝试解析每个父节点的项目,但似乎无法获得准确的数据。 XML数据如下: 到目前为止,这是我所使用的SQL,但似乎没有用。 显然,我正在使用XML数据类型将@xml设置为上述xml数据
1回复

如何在SQL Server中更新特定的XML属性?

我们将所有不同成本的XML文档存储在SQL Server 2008 r2中。 现在,某些价格需要根据公式进行更新。 一种解决方法是: 切碎XML并访问值。 做计算 现在重建XML结构。 这是唯一的方法吗? 还是有一种更简单的方法可以即时访问值并一次性更
2回复

SQL更新列中的XML字符串

表一: 如何在“”之间更新xml? 下面是我的尝试,这导致将col4更新为NewValue 1-x。 基本上,它不保留xml格式。 预期结果: Col4是数据类型:nvarchar(MAX)
4回复

如何将xml数据从一个sproc传递到另一个sproc?

我有2个sprocs用于赋值,我要做的是将xml输出从一个sproc传递到另一个sproc并将它放在一个变量中,我知道ex1.xml_sp1在用EXEC调用它时返回一个int,显然在尝试时要选择它,它将返回null,因为@x是xml数据类型。 我想要做的是检索和从存储过程1中的XML数据存