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: | Raw Message | Whole Thread | 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 |