如何将select语句结果转换为SQL Server中的HTML表?

RJ.*_*RJ. 2 html t-sql sql-server

我有一张桌子:

Select A, B, C 
FROM Table
WHERE Z = P 
AND Y = N
Run Code Online (Sandbox Code Playgroud)

我想捕获结果并从中创建一个HTML表格,如下所示:

DECLARE @HTMLTable VARCHAR(MAX)

@HTMLTable = ???

A   B   C
xx  xxx xxxxx
x   xx  x
xx  x   xxx
Run Code Online (Sandbox Code Playgroud)

等等.

这是因为我想在电子邮件中发送此HTML表格.

我该怎么做呢?

Joy*_*ker 7

使用FOR XML PATH(从其他人那里学习).这样的事情:

SET @tableHTML =
N'<table>' +
N'<tr><th>SpecialOfferID</th>
<th>Description</th>
<th>Type</th>
<th>Category</th>
<th>StartDate</th>
<th>EndDate</th>
</tr>' +
CAST ( (
SELECT td = CAST([SpecialOfferID] AS VARCHAR(100)),'',
td = [Description],'',
td = [Type],'',
td = [Category] ,'',
td = CONVERT(VARCHAR(30),[StartDate],120) ,'',
td = CONVERT(VARCHAR(30),[EndDate],120)
FROM [AdventureWorks].[Sales].[SpecialOffer]
ORDER BY [SpecialOfferID]
FOR XML PATH('tr'), TYPE
) AS NVARCHAR(MAX) ) +
N'</table>'
Run Code Online (Sandbox Code Playgroud)