चूंकि आपके पास notes
. के लिए फ़िल्टर है WHERE
. में तालिका खंड JOIN
एक INNER JOIN
की तरह काम कर रहा है , इसे JOIN
. पर ले जाएं शर्त:
SELECT
jobs.*,
MAX(notes.`timestamp`) AS complete_date
FROM jobs
LEFT JOIN notes
ON (jobs.id=notes.job_id)
AND (notes.type="complete" OR notes.type IS NULL)
WHERE (jobs.status="complete" OR jobs.status="closed")
GROUP BY jobs.id
ORDER BY complete_date ASC;
यह सबक्वेरी का उपयोग करके भी किया जा सकता है, इसलिए आप सबक्वेरी के अंदर नोट्स फ़िल्टर लागू करें:
SELECT
jobs.*,
n.complete_date
FROM jobs
LEFT JOIN
(
select job_id, MAX(`timestamp`) AS complete_date
from notes
where (type="complete" OR type IS NULL)
group by job_id
) n
ON (jobs.id=n.job_id)
WHERE (jobs.status="complete" OR jobs.status="closed")
ORDER BY complete_date ASC