使用SQL FOR XML创建HTML表

我正在使用SQL Server 2008 R2中的FOR XML语句创建HL7护理连续性文档(CCD)。

我已经用这种方法做了很多,但这是我第一次必须在HTML表中表示部分数据,这给我带来了麻烦。

因此,我在表中有以下信息:

  Problem  |   Onset    | Status

---------------------------------

Ulcer | 01/01/2008 | Active

Edema | 02/02/2005 | Active

我正在尝试渲染以下内容

<tr>

<th>Problem</th>

<th>Onset</th>

<th>Status</th>

</tr>

<tr>

<td>Ulcer</td>

<td>01/01/2008</td>

<td>Active</td>

</tr>

<tr>

<td>Edema</td>

<td>02/02/2005</td>

<td>Active</td>

</tr>

我正在使用此查询:

SELECT    p.ProblemType AS "td"

, p.Onset AS "td"

, p.DiagnosisStatus AS "td"

FROM tblProblemList p

WHERE p.PatientUnitNumber = @PatientUnitNumber

FOR XML PATH('tr')

我不断得到以下信息:

<tr>

<td>Ulcer2008-01-01Active</td>

</tr>

<tr>

<td>Edema2005-02-02Active</td>

</tr>

任何人有任何建议吗?

回答:

select 

(select p.ProblemType as 'td' for xml path(''), type),

(select p.Onset as 'td' for xml path(''), type),

(select p.DiagnosisStatus as 'td' for xml path(''), type)

from tblProblemList p

where p.PatientUnitNumber = @PatientUnitNumber

for xml path('tr')

要添加标题,也可以使用union all

select 

(select 'Problem' as th for xml path(''), type),

(select 'Onset' as th for xml path(''), type),

(select 'Status' as th for xml path(''), type)

union all

select

(select p.ProblemType as 'td' for xml path(''), type),

(select p.Onset as 'td' for xml path(''), type),

(select p.DiagnosisStatus as 'td' for xml path(''), type)

from tblProblemList p

where p.PatientUnitNumber = @PatientUnitNumber

for xml path('tr')

以上是 使用SQL FOR XML创建HTML表 的全部内容, 来源链接: utcz.com/qa/419942.html

回到顶部