【发布时间】:2021-10-06 17:29:27
【问题描述】:
我使用 SQL Server 存储过程和 HTML 开发了这段代码,以发送一个检查数据差异的自动报告,但我想在 delta 列中突出显示不等于 0 的数字。有没有办法用红色(例如)突出显示零,用绿色突出显示非零?
SET @tableHTML1 =
+ N' <p>This report is driven by <b>DWQC.dbo.mwsp_QC_EM_LS_EPMS_DAILY_CHECK </b> stored procedure.
Each METRIC in the QC is compared between the Source,House and Mart databases,
and the resulting delta is displayed </p>'
+N'<style type="text/css">' + N'.tg {border-collapse:collapse;border-spacing:0;border-color:#aaa;}'
+ N'.tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#aaa;color:#333;background-color:#fff;}'
+ N'.tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#aaa;color:#fff;background-color:#808080;}'
+ N'.tg .tg-9ajh{font-weight:bold;background-color:#808080}' + N'.tg .tg-hgcj{font-weight:bold;text-align:center}'
+ N'</style>' -- contains all the styling for the HTML report
+ N'<table class="tg">' -- calls the table to included in the report
+ N'<th class="tg-hgcj">CHECK_ID </th>'
+ N'<th class="tg-hgcj">CHECK NAME </th>'
+ N'<th class="tg-hgcj">SOURCE_COUNT</th>'
+ N'<th class="tg-hgcj">TARGET_COUNT</th>'
+ N'<th class="tg-hgcj">DELTA</th>'
+ N'</tr>'
+ CAST ( (select -- checks for columns that could be seen in attached report
td=CHECK_ID,'',
td=CHECK_NAME,'',
td=SOURCE_COUNT,'',
td=TARGET_COUNT,'',
td=DELTA,''
from( Select top 1000
isnull(CHECK_ID,0) as CHECK_ID,
isnull(CHECK_NAME,0) as CHECK_NAME,
isnull(SOURCE_COUNT,0) as SOURCE_COUNT,
isnull(TARGET_COUNT,0) as TARGET_COUNT,
isnull(DELTA,0) as DELTA
from #table --contains the data to be used in the report; temporarily naming it "table"
order by RID)Q
FOR XML PATH('tr'),
TYPE
) AS NVARCHAR(MAX))
+ N'</table>'
提前致谢!!
【问题讨论】:
-
使用 CSS 背景色?
-
这是大错特错...... SQL Server 内置了一个报告引擎,使用它而不是重新发明你自己的科学怪人的报告怪物。
-
有没有办法做到这一点 - 你没有说你想要 那个 是什么 - 只有你知道你希望它如何显示- 带有闪烁边框的 50pt 发光文本?如果您要构建 HTML 格式的输出,将其与您的查询分开,这可能是一个好主意。
-
使用报告引擎很简单,但我需要在我的 ETL 工作完成后立即启动这些过程。所以我将这些过程与 ETL 作业集成在一起。
-
编辑了我的问题@Stu
标签: html sql sql-server tsql