使用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