我需要编写SQL语句,它将返回一个html表并为其内容指定字体大小。
我找到了一些信息here。这个技巧的解释描述了如何使用元素获取XML但没有属性:
<tr>
<th>Problem</th>
<th>Onset</th>
<th>Status</th>
</tr>
<tr>
<td>aaa</td>
<td>bbb</td>
<td>ccc</td>
</tr>
但我需要编写一个返回类似这样的SQL语句:
<tr>
<th><font size="1">Problem</font></th>
<th><font size="1">Onset</font></th>
<th><font size="1">Status</font></th>
</tr>
<tr>
<td><font size="1">aaa</font></td>
<td><font size="1">bbb</font></td>
<td><font size="1">ccc</font></td>
</tr>
答案 0 :(得分:1)
一些想法。
1)将SQL数据转换为应用程序中的XML,而不是查询中的XML。 .NET / PHP / Java都有将SQL数据作为XML的方法。
2)使用XSL将XML从数据库转换为HTML
3)考虑使用CSS而不是<font>
标签。
table td {
FONT-SIZE: 12px;
}
答案 1 :(得分:0)
declare @T table
(
ProblemType varchar(10),
Onset date,
DiagnosisStatus varchar(10)
)
insert into @T values
( 'Ulcer', '01/01/2008', 'Active'),
( 'Edema', '02/02/2005', 'Active')
select
(select 1 as 'th/@size', 'Problem' as th for xml path(''), type),
(select 1 as 'th/@size', 'Onset' as th for xml path(''), type),
(select 1 as 'th/@size', 'Status' as th for xml path(''), type)
union all
select
(select 1 as 'td/@size', p.ProblemType as 'td' for xml path(''), type),
(select 1 as 'td/@size', p.Onset as 'td' for xml path(''), type),
(select 1 as 'td/@size', p.DiagnosisStatus as 'td' for xml path(''), type)
from @T p
for xml path('tr')
结果:
<tr>
<th size="1">Problem</th>
<th size="1">Onset</th>
<th size="1">Status</th>
</tr>
<tr>
<td size="1">Ulcer</td>
<td size="1">2008-01-01</td>
<td size="1">Active</td>
</tr>
<tr>
<td size="1">Edema</td>
<td size="1">2005-02-02</td>
<td size="1">Active</td>
</tr>