【发布时间】:2015-04-14 18:10:20
【问题描述】:
表格之间是一对多的关系,一个检查员可以有许多文档,我喜欢按检查员 ID 对它们进行分组,并在一个 xml <row> 节点中显示它们。
到目前为止我尝试过的就在这里;
SQL:
select
d.InspectorID "@InspectorID",
d.DocID "Qualification/DocID",
d.FileSize "Qualification/FileSize",
q.Name "Qualification/Name",
d.EndDate "Qualification/EndDate",
d.DateCreated "Qualification/DateCreated"
from
InspectorDocs d
LEFT JOIN
DocumentType dt on dt.DocumentTypeID = d.DocType
LEFT JOIN
QualificationType q on q.QualificationTypeID = d.QualificationTypeID
WHERE
d.InspectorID = 6390
FOR XML PATH
XML 输出:
<row InspectorID="6390">
<Qualification>
<DocID>23107</DocID>
<FileSize>248724</FileSize>
<Name>AWS CWI</Name>
<EndDate>2016-12-01T00:00:00</EndDate>
<DateCreated>2014-07-23T21:30:00</DateCreated>
</Qualification>
</row>
<row InspectorID="6390">
<Qualification>
<DocID>23108</DocID>
<FileSize>524934</FileSize>
<Name>Other</Name>
<EndDate>1900-12-12T00:00:00</EndDate>
<DateCreated>2014-07-23T21:31:00</DateCreated>
</Qualification>
</row>
我怎样才能达到这个期望的输出:
<row InspectorID="6390">
<Qualification>
<DocID>23107</DocID>
<FileSize>248724</FileSize>
<Name>AWS CWI</Name>
<EndDate>2016-12-01T00:00:00</EndDate>
<DateCreated>2014-07-23T21:30:00</DateCreated>
</Qualification>
<Qualification>
<DocID>23108</DocID>
<FileSize>524934</FileSize>
<Name>Other</Name>
<EndDate>1900-12-12T00:00:00</EndDate>
<DateCreated>2014-07-23T21:31:00</DateCreated>
</Qualification>
</row>
【问题讨论】:
标签: sql-server xml sql-server-2008