I have a query that I'm trying to get only one row to display for each volume and drawing_num based on the MAX of a date field. I'm posting my query below along with the results I'm getting plus what the results I'm intending to get. Any help is appreciated.
SELECT
cc_qaqc_drawings.volume,
cc_qaqc_drawings.drawing_num,
cc_qaqc_drawings.drawing_name,
MAX(cc_qaqc_drawings_detail.rev_date) AS revdate,
cc_qaqc_drawings_detail.rev_desc,
cc_qaqc_drawings_detail.rev_type,
da.cc_qaqc_drawings.id
FROM da.cc_qaqc_drawings
LEFT JOIN da.cc_qaqc_drawings_detail
ON da.cc_qaqc_drawings.id = da.cc_qaqc_drawings_detail.draw_id
WHERE cc_qaqc_drawings.jobnumber = '2099'
GROUP BY
cc_qaqc_drawings.volume,
cc_qaqc_drawings.drawing_num,
cc_qaqc_drawings.drawing_name,
da.cc_qaqc_drawings.id,
cc_qaqc_drawings_detail.rev_desc,
cc_qaqc_drawings_detail.rev_type
ORDER BY
cc_qaqc_drawings.volume,
cc_qaqc_drawings.drawing_num,
MAX(cc_qaqc_drawings_detail.rev_date) DESC;
Below are the results I'm getting with the query above.
Volume | DrawNum | DrawName | RevDate | RevDesc | RevType | ID |
---|---|---|---|---|---|---|
1 | A1001 | Windows | 21-MAR-23 | Glass | RFDC | 2250 |
1 | A1001 | Windows | 20-MAR-23 | Glass | RFDC | 2250 |
1 | A1001 | Windows | 19-MAR-23 | Glass | ASI | 2250 |
1 | A1001 | Windows | 18-MAR-23 | Glass | RFI | 2250 |
1 | A4400 | Frames | NULL | NULL | NULL | 2244 |
1 | A6100 | Schedule | NULL | NULL | NULL | 2245 |
9 | A1099 | Drawings | 18-MAR-23 | Classes | RFI | 2261 |
9 | A1099 | Drawings | 17-MAR-23 | Classes | RFDC | 2261 |
Below are the results I would like to get.
Volume | DrawNum | DrawName | RevDate | RevDesc | RevType | ID |
---|---|---|---|---|---|---|
1 | A1001 | Windows | 21-MAR-23 | Glass | RFDC | 2250 |
1 | A4400 | Frames | NULL | NULL | NULL | 2244 |
1 | A6100 | Schedule | NULL | NULL | NULL | 2245 |
9 | A1099 | Drawings | 18-MAR-23 | Classes | RFI | 2261 |