Re: SQL Query Newbie Help

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)
> );

In response to

Responses

Browse pgsql-sql by date

  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