5280_Lifestyle (4/3/2013)
As for the ANSI joins, when I tried switching to ANSI some of the rows were left out. With the old outer joins, the output was 243 rows. With the ANSI joins, the output was 239 rows. That's why I left those annoying outer joins in the query. I have roughly 8 months of sql experience, so I'm definitely still wearing my training wheels. I wasn't thinking this (GROUPED.TOTAL_DURATION = AL3.DURATION) all the way through, so bye-bye Duration.Jo, I like the way you have the query coded and I will try that out right away.
Going back to the original query, when converting an ANSI-89 style outer join to an ANSI-92 style outer join some of what you think may be filter criteria and need to stay in the WHERE clause is actually part of the join criteria.
Based on this, this may be your original query rewritten as an ANSI-92 style join.
SELECT
AL21.SUBCASE_NUMBER,
SUM(AL31.DURATION/60) TOTAL_DURATION
FROM
SUBCASE AL21
LEFT OUTER JOIN ONSITE_TIME_LOG AL31
ON (AL21.SUBCASE_OBJID = AL31.SUBC_ONSITE2SUBCASE
AND ((AL21.SUBCASE_NUMBER LIKE '2049356%'
OR AL21.SUBCASE_NUMBER LIKE '2049462%'
OR AL21.SUBCASE_NUMBER LIKE '2057852%'
OR AL21.SUBCASE_NUMBER LIKE '2057877%'
OR AL21.SUBCASE_NUMBER LIKE '2057897%'
OR AL21.SUBCASE_NUMBER LIKE '2057930%'
OR AL21.SUBCASE_NUMBER LIKE '2057948%'
OR AL21.SUBCASE_NUMBER LIKE '2057963%'
OR AL21.SUBCASE_NUMBER LIKE '2057984%'
OR AL21.SUBCASE_NUMBER LIKE '2057996%'
OR AL21.SUBCASE_NUMBER LIKE '2058015%'
OR AL21.SUBCASE_NUMBER LIKE '2058032%'
OR AL21.SUBCASE_NUMBER LIKE '2058049%'
OR AL21.SUBCASE_NUMBER LIKE '2066771%')
OR (AL21.SUBCASE_TITLE LIKE '%CITS Audit%'
OR AL21.SUBCASE_TITLE LIKE '%CITS Audits%'
OR AL21.SUBCASE_TITLE LIKE '%CITS_AUDIT%'
OR AL21.SUBCASE_TITLE LIKE '%CITS_Audit%'
OR AL21.SUBCASE_TITLE LIKE '%CITS_AUDITS%'
OR AL21.SUBCASE_TITLE LIKE '%CITS_Audits%'
OR AL21.SUBCASE_TITLE LIKE '%CITS-Audit%'
OR AL21.SUBCASE_TITLE LIKE '%CITS-Audits%'
OR AL21.SUBCASE_TITLE LIKE '%CITSAUDIT%'
OR AL21.SUBCASE_TITLE LIKE '%CITSAudit%'
OR AL21.SUBCASE_TITLE LIKE '%CITSAUDITS%'
OR AL21.SUBCASE_TITLE LIKE '%CITSAudits%')))
GROUP BY
AL21.SUBCASE_NUMBER
ORDER BY
AL21.SUBCASE_NUMBER
Test it and see if it returns the same result set as the original query.