• I came up with something that works.

    SELECT DISTINCT j.Name AS Job_Name,

    msdb.dbo.Agent_datetime(Run_Date, Run_Time) AS Run_Datetime,

    Dateadd(second, Datediff(second, 0, msdb.dbo.Agent_datetime(19000101, Run_Duration)), msdb.dbo.Agent_datetime(Run_Date, Run_Time)) AS Run_Endtime,

    Stuff(Stuff(RIGHT('000000'

    + Cast(Run_Duration AS VARCHAR(6)), 6), 5, 0, ':'), 3, 0, ':') AS Run_Duration,

    CASE h.Run_Status

    WHEN 0 THEN 'failed'

    WHEN 1 THEN 'Succeded'

    WHEN 2 THEN 'Retry'

    WHEN 3 THEN 'Cancelled'

    WHEN 4 THEN 'In Progress'

    END AS ExecutionStatus,

    h.Message ,

    h.Step_ID AS Step_ID

    FROM msdb..Sysjobhistory h

    INNER JOIN msdb..Sysjobs j ON h.Job_id = j.Job_id

    INNER JOINdbo.sysjobsteps jsONjs.job_id = j.job_id

    WHERE

    j.name = 'Any Job Name';

    For better, quicker answers on T-SQL questions, click on the following...
    http://www.sqlservercentral.com/articles/Best+Practices/61537/

    For better answers on performance questions, click on the following...
    http://www.sqlservercentral.com/articles/SQLServerCentral/66909/