CREATE TABLE #Temp
(
[Rank] [int],
[Player Name] [varchar](128),
[Ranking Points] [int],
[Country] [varchar](128)
)
INSERT INTO #Temp
SELECT 1, 'Rafael Nadal', 12390, 'Spain'
UNION ALL
SELECT 2, 'Roger Federer', 7965, 'Switzerland'
UNION ALL
SELECT 3, 'Novak Djokovic', 7880, 'Serbia'
DECLARE @xml NVARCHAR(MAX)
DECLARE @body NVARCHAR(MAX)
SET @xml = CAST((SELECT [Rank] AS 'td','',[Player Name] AS 'td','',
[Ranking Points] AS 'td','', Country AS 'td'
FROM #Temp ORDER BY Rank
FOR XML PATH('tr'), ELEMENTS) AS NVARCHAR(MAX))
SET @body ='<html><body><H3>Tennis Rankings Info</H3>
<table border = 1>
<tr>
<th> Rank </th> <th> Player Name </th> <th> Ranking Points </th> <th> Country </th></tr>'
SET @body = @body + @xml +'</table></body></html>'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'SQL ALERTING', -- replace with your SQL Database Mail Profile
@body = @body,
@body_format ='HTML',
@recipients = '[email protected]', -- replace with your email address
@subject = 'E-mail in Tabular Format' ;
#Tempテーブルが構造的に動的になり、つまり列が変化し続けるという要件があります。とにかく動的表のために@xml変数を構築していますか?前もって感謝します。どんな助けも高く評価されます!SQL Serverで電子メールを送信するためのリレーショナルデータ(動的テーブル)をxmlに変換する
[この回答](http://stackoverflow.com/a/39487565/5089204)Iが提供しますどのように簡単なコール*機能として完全なCSS /ハイパーリンクをサポートしているSELECTからXHTMLテーブルを作成することができます。 – Shnugo