I have a table of people ("reviewers"), a table of review assignments ("assign"), and a table of review acceptances ("accept"). I would like to be able to write a query to return the latest (e.g., max(assign_date)) assignment for each reviewer, plus the acc_id field from "accept". I think I should be able to do this with a GROUP BY clause, but am having no luck.
Table structure:
reviewers assign accept ----------------------------------------- reviewer_id assign_id accept_id reviewer_id assign_id ... assign_date ... ...
I think you want to write a non-GROUPed query using "DISTINCT ON". Something like this:
SELECT DISTINCT ON (reviewer_id,assign_id) reviewer_id, assign_id, assign_date, accept_id FROM reviewers JOIN assign USING (reviewer_id) JOIN accept USING (accept_id) ORDER BY reviewer_id, assign_id, assign_date DESC;
-- (Posted from an account used as a SPAM dump. If you really want to get in touch with me, dump the 'jboes' and substitute 'mur'.) ________ Jeffery Boes <>< [EMAIL PROTECTED]
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly