2

私はテーブルを持っています:

Select A, B, C 
FROM Table
WHERE Z = P 
AND Y = N

結果をキャプチャして、そこから HTML テーブルを作成したいと考えています。

DECLARE @HTMLTable VARCHAR(MAX)

@HTMLTable = ???

A   B   C
xx  xxx xxxxx
x   xx  x
xx  x   xxx

等々。

理由は、この HTML テーブルをメールで送信したいからです。

どうすればこれを行うことができますか?

4

3 に答える 3

9

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>'
于 2013-10-31T16:34:27.033 に答える