sql – 如何为所有行选择XML字段节点
发布时间:2020-12-12 07:07:41 所属栏目:MsSql教程 来源:网络整理
导读:我有这样一张桌子: YEAR int,Fields XML 我的XML列对所有行都有这种结构,但具有不同的值: 我怎么能得到这个结果: YEAR ID NAME LASTNAME---------------------------------------------------2011 1000 Nima Agha2011 1001 Begha Begha2011 1002 Jigha Jig
我有这样一张桌子:
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 ... 谢谢 解决方法这个怎么样: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,然后提取每个< Person>从Fields列中的节点到名为E的“内联XML表”,其中有一个名为P的XML列(您可以选择您喜欢的任何名称),您再次查询并从中提取单个元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |