Sql server 展平SQL视图的嵌套XML
摘要: 给定一个包含各种类型列(其中一个是XML列)的SQL Server db表,我需要对每一行的XML进行摘要,并在视图中显示这些数据 为简单起见,假设下表: 表名:研究 栏目:Sql server 展平SQL视图的嵌套XML,sql-server,xml,nested,views,Sql Server,Xml,Nested,Views,摘要: 给定一个包含各种类型列(其中一个是XML列)的SQL Server db表,我需要对每一行的XML进行摘要,并在视图中显示这些数据 为简单起见,假设下表: 表名:研究 栏目: StudyId(主键,整数,非空) 名称(nvarchar,非空) 对象(XML,null) 为1行假设以下值: 123 “研究” 如下所示,StackOverflow不允许我使用代码插入,所以这里是html 我试过这种方法 SELECT StudyId ,Name
我试过这种方法
SELECT
StudyId
,Name
,o.value('../@Name', 'varchar(30)') [Group]
,o.value('@Drug', 'varchar(30)') Drug
FROM Study S
CROSS APPLY S.[Objects].nodes('objects/Group/Treatment') xmlData(o)
得到这个结果
StudyId Name Group Drug
----------- ---------- ------------ ------------
123 A Study Group1 Grp1DrugA
123 A Study Group1 Grp1DrugB
123 A Study Group2 Grp2DrugC
希望有帮助。我试过这种方法
SELECT
StudyId
,Name
,o.value('../@Name', 'varchar(30)') [Group]
,o.value('@Drug', 'varchar(30)') Drug
FROM Study S
CROSS APPLY S.[Objects].nodes('objects/Group/Treatment') xmlData(o)
得到这个结果
StudyId Name Group Drug
----------- ---------- ------------ ------------
123 A Study Group1 Grp1DrugA
123 A Study Group1 Grp1DrugB
123 A Study Group2 Grp2DrugC
希望能有帮助