| From: | Julie Robinson <funkjunk(at)bellsouth(dot)net> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: SQL Query Newbie Help |
| Date: | 2006-03-24 17:50:57 |
| Message-ID: | 1228cchdf3qqfe@corp.supernews.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
This works, but is there a better solution?
select *
from quality_control_reset T
where date = (
select max(date)
from quality_control_reset
where qualitycontrolrange = T.qualitycontrolrange);
Julie Robinson wrote:
> Given the two tables at the bottom of this email, I'm having trouble
> coming up with a SQL statement that returns all rows in the
> quality_control_reset table where there is only one row for the most
> recent quality_control_range. Help?
>
> Example:
>
> In table quality_control_reset:
>
> id | date | qualitycontrolrange
> ---------------------------------------------
> 1 | 02/23/2006 | 20
> 2 | 02/23/2006 | 6
> 3 | 02/28/2006 | 18
> 4 | 03/01/2006 | 18
> 5 | 03/23/2006 | 12
> 6 | 03/23/2006 | 20
>
> I want the results of the following from the query:
>
> id | date | qualitycontrolrange
> ---------------------------------------------
> 2 | 02/23/2006 | 6
> 4 | 03/01/2006 | 18
> 5 | 03/23/2006 | 12
> 6 | 03/23/2006 | 20
>
>
> CREATE TABLE quality_control_reset
> (
> id int8 NOT NULL,
> date timestamp,
> qualitycontrolrange int8,
> CONSTRAINT quality_control_reset_pkey PRIMARY KEY (id),
> CONSTRAINT fk42a706efb62efa94 FOREIGN KEY (qualitycontrolrange)
> REFERENCES quality_control_range (id) MATCH SIMPLE
> ON UPDATE NO ACTION ON DELETE NO ACTION
> )
>
> CREATE TABLE quality_control_range (
> id int8 NOT NULL,
> code varchar(255),
> CONSTRAINT quality_control_range_pkey PRIMARY KEY (id)
> );
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Joe | 2006-03-24 18:34:34 | Re: Question about One to Many relationships |
| Previous Message | Todd Kennedy | 2006-03-24 17:37:06 | Re: Question about One to Many relationships |