1# "WHERE JobId > 0" is a dummy where clause,
2#                   to make it easier to extend the filter
3#                   (all filters starts with "AND ...")
4
5SELECT DISTINCT Job.JobId, Job.Job, Job.Name, Job.PurgedFiles, Job.Type, Job.Level,
6Job.ClientId, Client.Name as Client, Job.JobStatus, Job.SchedTime, Job.StartTime,
7Job.EndTime, Job.RealEndTime, Job.JobTDate, Job.VolSessionId, Job.VolSessionTime,
8Job.JobFiles, Job.JobBytes, Job.JobErrors, Job.JobMissingFiles, Job.PoolId,
9Pool.Name as PoolName, Job.PriorJobId, Job.FileSetId, FileSet.FileSet
10FROM Job
11LEFT JOIN Client ON Client.ClientId=Job.ClientId
12LEFT JOIN Pool ON Pool.PoolId=Job.PoolId
13LEFT JOIN JobMedia ON JobMedia.JobId=Job.JobId
14LEFT JOIN Media ON JobMedia.MediaId=Media.MediaId
15LEFT JOIN FileSet ON FileSet.FileSetId=Job.FileSetId
16INNER JOIN (
17   SELECT MAX(Job.JobId) as MaxJobId
18   FROM Job
19   LEFT JOIN Client ON Client.ClientId=Job.ClientId
20   LEFT JOIN Pool ON Pool.PoolId=Job.PoolId
21   LEFT JOIN JobMedia ON JobMedia.JobId=Job.JobId
22   LEFT JOIN Media ON JobMedia.MediaId=Media.MediaId
23   LEFT JOIN FileSet ON FileSet.FileSetId=Job.FileSetId
24   WHERE Job.JobId > 0
25   %s
26   GROUP BY Job.Name
27) LastJob
28ON Job.JobId = LastJob.MaxJobId
29ORDER BY StartTime%s;
30