Re: Complicated "group by" question
От | Jean-Luc Lachance |
---|---|
Тема | Re: Complicated "group by" question |
Дата | |
Msg-id | 412CD247.5020706@sympatico.ca обсуждение исходный текст |
Ответ на | Complicated "group by" question (Andrew Perrin <clists@perrin.socsci.unc.edu>) |
Список | pgsql-sql |
Andrew, If assing is not a many to many relation, why did you not fold accept_id into assign? Any way, here is the query you need: select assign.reviewer_id, ss.max_assign_date, accept.assign_id, accept.accept_id from ( select reviewer_id, max( assign_date) as max_assign_date from assign group by reviewer_id) as ss, assign, accept where ss.reviewer_id = assign.reviewer_id and ss.max_assign_date = assign.assign_date and assign.assign_id = accept.assign_id; Andrew Perrin wrote: > 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 > ... ... > > > Thanks for any guidance. > > Andy > > ---------------------------------------------------------------------- > Andrew J Perrin - http://www.unc.edu/~aperrin > Assistant Professor of Sociology, U of North Carolina, Chapel Hill > clists@perrin.socsci.unc.edu * andrew_perrin (at) unc.edu > > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org >
В списке pgsql-sql по дате отправления: