Re: Complicated "group by" question - Mailing list pgsql-sql

From Jean-Luc Lachance
Subject Re: Complicated "group by" question
Date
Msg-id 412CD247.5020706@sympatico.ca
Whole thread Raw
In response to Complicated "group by" question  (Andrew Perrin <clists@perrin.socsci.unc.edu>)
List 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 by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Complicated "group by" question
Next
From: Andrew Perrin
Date:
Subject: Re: Complicated "group by" question