Re: SQL Query Newbie Help
От | Julie Robinson |
---|---|
Тема | Re: SQL Query Newbie Help |
Дата | |
Msg-id | 1228cchdf3qqfe@corp.supernews.com обсуждение исходный текст |
Ответ на | SQL Query Newbie Help (Julie Robinson <funkjunk@bellsouth.net>) |
Ответы |
Re: SQL Query Newbie Help
|
Список | 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) > );
В списке pgsql-sql по дате отправления: