Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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 TSQL for xml path-即使子查询为空,如何包含子查询容器元素?_Sql Server_Tsql_For Xml Path - Fatal编程技术网

Sql server TSQL for xml path-即使子查询为空,如何包含子查询容器元素?

Sql server TSQL for xml path-即使子查询为空,如何包含子查询容器元素?,sql-server,tsql,for-xml-path,Sql Server,Tsql,For Xml Path,我对构建XML的查询包括子查询。子记录应该放在容器元素中。即使没有子记录,XML也必须具有container元素 考虑以下几点。即使没有子记录或验证失败,容器元素也必须存在 <Hospital> <Patients> <Patient></Patient> <Patient></Patient> <Patient></Patient> &

我对构建XML的查询包括子查询。子记录应该放在容器元素中。即使没有子记录,XML也必须具有container元素

考虑以下几点。即使没有子记录或验证失败,容器元素也必须存在

<Hospital>
    <Patients>
        <Patient></Patient>
        <Patient></Patient>
        <Patient></Patient>
    </Patients>
</Hospital>
上述方法将
元素完全省略为一个空集

下面的一个包含标记,但添加了
xsi:nil=“true”
属性,这也会导致验证失败

select
    (
        select
            PatientFields
        from
            PatientTable
        for xml path('Patient'), elements xsinil, type
    ) Patients
for xml path('Hospital'), elements xsinil, type
有没有办法强制容器元素出现

select
    (
        select
            'John Doe'
        where 1 = 0
        for xml path('Patient'), type
    )
for xml path('Patients'), root('Hospital'), type
select
    (
        select
            'John Doe'
        where 1 = 0
        for xml path('Patient'), type
    )
for xml path('Patients'), root('Hospital'), type