SQL Server 2005 を使用しており、HTML 形式のデータベース メールを送信しています。必要な結果が得られていますが、テーブルを希望どおりにフォーマットするのに苦労しています。
テーブルの行に入力する 2 つの別個の SELECT ステートメントが実行されています。問題は、それらが互いに関連しているため、並べて表示したいのですが、一方が他方の上にしか表示されないことです。大きなテーブル内の 2 つのテーブルにそれらを配置しようとしましたが、移動しません。私は約 10 年間 HTML を使用していないので、おそらくスクリプト自体よりも HTML に問題があると思われます。
2 つの select ステートメントを含む @body セクションを次に示します。
N'<table border="1" cellpadding="0" cellspacing="0"><font face="arial">' +
N'<th>Store Number</th>' +
N'<td>'+ CAST ( ( SELECT store_num
FROM store_results
WHERE successful = 'N'
OR successful IS NULL
ORDER BY store_num ASC FOR XML PATH('tr'), TYPE ) AS NVARCHAR(MAX) )+'</td>'+
N'</td>' +
N'<td><table border="1" cellpadding="0" cellspacing="0"><font face="arial">' +
N'<th>Reason</th>' +
N'<td>'+CAST ( ( SELECT
CASE successful
WHEN 'N' THEN 'Failed'
ELSE 'Did Not Run'
END
FROM store_results where successful = 'N' OR successful is null
ORDER BY store_num ASC FOR XML PATH('tr'), TYPE ) AS NVARCHAR(MAX) )+'</td>'+
N'</td>' +
N'</table>