MS Libraryのサイトでは、電子メールを作成してhtmlテーブルの結果を埋め込む方法を示しています。 https://msdn.microsoft.com/en-us/library/ms190307.aspxT-SQL; sp_send_dbmailを使用してhtml形式で表の前後に文を追加する方法
これは問題ありませんが、メールの本文表に最初と最後の言葉をどのように追加してください。 (それは確かに、明白でなければならない?)
初期のコードは以下のとおりである場合には、最適な出力は次のようになります -
Hi,(carriage return)
Here is a list.(carriage return)
The details are below:(carriage return)
(then table goes here)
(carriage return)
Thank you for looking.(carriage return)
Kind regards(carriage return)
(carriage return)
From us
表のサンプルコード:
DECLARE @tableHTML NVARCHAR(MAX) ;
SET @tableHTML =
N'<H1>Work Order Report</H1>' +
N'<table border="1">' +
N'<tr><th>Work Order ID</th><th>Product ID</th>' +
N'<th>Name</th><th>Order Qty</th><th>Due Date</th>' +
N'<th>Expected Revenue</th></tr>' +
CAST ((SELECT td = wo.WorkOrderID, '',
td = p.ProductID, '',
td = p.Name, '',
td = wo.OrderQty, '',
td = wo.DueDate, '',
td = (p.ListPrice - p.StandardCost) * wo.OrderQty
FROM AdventureWorks.Production.WorkOrder as wo
JOIN AdventureWorks.Production.Product AS p
ON wo.ProductID = p.ProductID
WHERE DueDate > '2004-04-30'
AND DATEDIFF(dd, '2004-04-30', DueDate) < 2
ORDER BY DueDate ASC,
(p.ListPrice - p.StandardCost) * wo.OrderQty DESC
FOR XML PATH('tr'), TYPE
) AS NVARCHAR(MAX)) +
N'</table>' ;
EXEC msdb.dbo.sp_send_dbmail @recipients='[email protected]',
@subject = 'Work Order List',
@body = @tableHTML,
@body_format = 'HTML' ;
ありがとう@マンダソン。 body_formatはhtmlですが、キャリッジリターンは表示されません。私はここで他の答えを探して、彼らは同様の問題を指摘しています:( – Baz
それはあなたの問題を解決した場合、問題はないと答えてマークしてください。 – manderson
残念ながらそれはしませんでした。 – Baz