• Lowell are you saying it should look like this then;

    -------------------------------------------------

    USE NMS_RT

    IF EXISTS(SELECT 1

    FROM RT_MCP_Historic_Alarms

    WHERE [RT_MCP_Date_Time] >= Convert(char(10), DateADD(DAY, -1, GETDATE()), 101) AND [RT_MCP_Date_Time] 0

    GROUP BY RT_MCP_Name, RT_MCP_State, RT_MCP_Alarm_Text, RT_MCP_Bit_State, CONVERT(char(10), RT_MCP_Date_Time, 111)

    HAVING COUNT(RT_MCP_Alarm_Text) >= 30 )

    BEGIN

    DECLARE @tableHTML NVARCHAR(MAX) ;

    SET @tableHTML =

    N'

    MCP Alarms for previous 24 Hours

    ' +

    N'

    ' +

    N'

    ' +

    N'

    ' +

    CAST ( ( SELECT td = RT_MCP_Name, '',

    td = RT_MCP_State, '',

    td = RT_MCP_Alarm_Text, '',

    td = COUNT(RT_MCP_Alarm_Text), '',

    td = CONVERT(char(10), RT_MCP_Date_Time, 111), '',

    td = CASE RT_MCP_Bit_State WHEN 1 THEN 'True' ELSE 'False' END, ''

    ORDER BY CONVERT(char(10), RT_MCP_Date_Time, 111), COUNT(RT_MCP_Alarm_Text) DESC, RT_MCP_Name, RT_MCP_State, RT_MCP_Alarm_Text, RT_MCP_Bit_State

    FOR XML PATH('tr'), TYPE

    ) AS NVARCHAR(MAX) ) +

    N'

    Wayside NameStateAlarm MessageError CountError DateAlarm State

    ' ;

    EXEC msdb.dbo.sp_send_dbmail

    @recipients='usergroup@fabricam.com',

    @subject = 'MCP Alarms for Previous 24 Hours',

    @body = @tableHTML,

    @body_format = 'HTML',

    @profile_name = 'test';

    END

    Retired Navy Chief Petty Officer, Consulting Systems Engineer, C# Programmer, SQL Beginner