Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 展平SQL视图的嵌套XML_Sql Server_Xml_Nested_Views - Fatal编程技术网

Sql server 展平SQL视图的嵌套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

摘要:

给定一个包含各种类型列(其中一个是XML列)的SQL Server db表,我需要对每一行的XML进行摘要,并在视图中显示这些数据

为简单起见,假设下表:

表名:研究

栏目:

  • StudyId(主键,整数,非空)
  • 名称(nvarchar,非空)
  • 对象(XML,null)
  • 为1行假设以下值:

  • 123
  • “研究”
  • 如下所示,StackOverflow不允许我使用代码插入,所以这里是html
  • 
    
    我试过这种方法

    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
    
    希望能有帮助