Question: how to query SQL Server Agent – all jobs’ error message result set

Input:
select * from [jobs's error masseage table] where status = 'error' and date between '2020-05-01' and '2020-06-01'
Expected result:
jobname , runtime , status , message xxx1 , 2020-05-03 , error , #)*)_(#_@$# xxx2 , 2020-05-05 , error , #)*)_(#_@$# ....
What I’ve tried & know: I know Job Activity Monitor GUI form can do it, but it only contains last run as shown in this screenshot:

Advertisement
Answer
I searched msdn and found dbo.sysjobhistory (Transact-SQL) – SQL Server | Microsoft Docs can do it
SELECT sj.name,
sh.*
FROM msdb.dbo.sysjobs sj
JOIN msdb.dbo.sysjobhistory sh ON sj.job_id = sh.job_id
where run_status = 0 and run_date between '20200806' and '20200811'
order by run_date

but it looks like only cotaining few days data.
