我正在构建一个要插入电子邮件的html表。我需要它,以便能够直接用完sql。我到目前为止所拥有的是...。
SELECT col1 AS 'td','',
col2 AS 'td','',
col3 AS 'td','',
col4 AS 'td'
FROM TABLE
FOR XML PATH('tr'),ELEMENTS AS NVARCHAR(MAX)
我想向该行添加一个类,以便我可以根据问col3的值来控制整个行的字体。
我来自编程界,所以我不熟悉以下等效的sql ... 伪代码:
SELECT col1 AS 'td','',
col2 AS 'td','',
col3 AS 'td','',
col4 AS 'td'
FROM TABLE
if col3 == 'fail' then FOR XML PATH('tr class=red'),ELEMENTS AS NVARCHAR(MAX)
else if col3 == 'warn' then XML PATH('tr class=yellow'),ELEMENTS AS NVARCHAR(MAX)
else FOR XML PATH('tr'),ELEMENTS AS NVARCHAR(MAX)
答案 0 :(得分:0)
使用子查询来构建行单元格作为行的内容,并使用CASE
为行的class
属性分配不同的值。
SELECT CASE col4
WHEN 'fail' THEN
'red'
WHEN 'warn' THEN
'yellow'
ELSE
'green'
END 'tr/@class',
(SELECT col1 'td',
'',
col2 'td',
'',
col3 'td',
'',
col4 'td'
FOR XML PATH(''),
TYPE) 'tr'
FROM elbat
FOR XML PATH('table');