Unix Technical Forum

Re: SQL Question - S/B Good...

This is a discussion on Re: SQL Question - S/B Good... within the pgsql Novice forums, part of the PostgreSQL category; --> > > On Thu, May 25, 2006 at 13:56:09 -0700, > > operationsengineer1@yahoo.com wrote: > > > > > ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Novice

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-17-2008, 10:54 PM
operationsengineer1@yahoo.com
 
Posts: n/a
Default Re: SQL Question - S/B Good...

> > On Thu, May 25, 2006 at 13:56:09 -0700,
> > operationsengineer1@yahoo.com wrote:
> > >
> > > Row / inspect_result / inspect_id
> > > 1 / t / 107
> > > 2 / t / 106
> > > 3 / f / 100
> > > 4 / t / 100
> > >
> > > i can't figure out how to group by
> > > t_inspect.inspect_id and limit the query to one

> > result
> > > per inspect_id.
> > >
> > > iow, i want to see...
> > >
> > > Row / inspect_result / inspect_id
> > > 1 / t / 107
> > > 2 / t / 106
> > > 3 / f / 100
> > >
> > > when i apply a limit 1, it returns a single

> > result,
> > > not a single result per inspect_id. i tried (),

> > but
> > > to no avail.

> >
> > OK, I thought you were only querying one id at a
> > time and the issue was
> > getting back an f avleu when there was a mixture

> of
> > f and t values.
> > To get one value per inspect_id you can use the
> > Postgres extension DISTINCT ON
> > to return one record per inspect_id. If you also
> > ORDER BY inspect_id,
> > inspect_result then you should get a row with an f
> > for inspect result if there
> > is one. Or if you only care about inspect_id's

> where
> > there is at least one
> > row with an f, then you can add NOT inspect_id to
> > the WHERE conditions.

>
> Bruno, no worries. i didn't explain what i wanted
> too
> well. i'm *only* interested in the last (latest
> timestamp) inspect_result for each inspect_id.
>
> the reason this is important is to verify that a
> unit
> has actually passed all prior inspection failures.
> if
> the last (by timestamp) inspect_result is a fail,
> then
> the unit is not to be shipped in its failure state.
> if all the inspects are passes, the unit can ship.
>
> it is a double check to close the inspection failure
> loop.
>
> i'll investigate distinct on and see where it leads
> me.
>
> thanks for the lead


Bruno,

This looks like it does what i want...

SELECT DISTINCT ON (t_inspect_result.inspect_id)
t_inspect_result.inspect_id,
t_inspect_result.inspect_result,
t_inspect_result.inspect_timestamp
FROM t_inspect_result, t_inspect, t_inspect_area,
t_serial_number,
t_link_contract_number_job_number, t_job_number,
t_product
WHERE t_inspect.inspect_area_id =
t_inspect_area.inspect_area_id
AND t_inspect.serial_number_id =
t_serial_number.serial_number_id
AND t_serial_number.link_contract_number_job_number_id
=

t_link_contract_number_job_number.link_contract_nu mber_job_number_id
AND t_link_contract_number_job_number.job_number_id =
t_job_number.job_number_id
AND t_product.product_id =
t_job_number.product_id
AND t_inspect.inspect_id =
t_inspect_result.inspect_id
AND t_inspect.serial_number_id = '184'
ORDER BY t_inspect_result.inspect_id DESC,
t_inspect_result.inspect_timestamp DESC
-- inspect_id desc impacts end result. time desc
-- impacts the groups prior to being distinctly listed

as you can see in the note, the timestamp DESC works
within the groups, not on the single group value
ultimately returned (as it should). how can i get it
to work on returned groups, too? i work around it by
putting inspect_id in desc order (they typically occur
one after another), but that may not always work.

tia...

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-17-2008, 10:54 PM
Bruno Wolff III
 
Posts: n/a
Default Re: SQL Question - S/B Good...

On Thu, May 25, 2006 at 14:56:51 -0700,
operationsengineer1@yahoo.com wrote:
>
> Bruno,
>
> This looks like it does what i want...
>
> SELECT DISTINCT ON (t_inspect_result.inspect_id)
> t_inspect_result.inspect_id,
> t_inspect_result.inspect_result,
> t_inspect_result.inspect_timestamp
> FROM t_inspect_result, t_inspect, t_inspect_area,
> t_serial_number,
> t_link_contract_number_job_number, t_job_number,
> t_product
> WHERE t_inspect.inspect_area_id =
> t_inspect_area.inspect_area_id
> AND t_inspect.serial_number_id =
> t_serial_number.serial_number_id
> AND t_serial_number.link_contract_number_job_number_id
> =
>
> t_link_contract_number_job_number.link_contract_nu mber_job_number_id
> AND t_link_contract_number_job_number.job_number_id =
> t_job_number.job_number_id
> AND t_product.product_id =
> t_job_number.product_id
> AND t_inspect.inspect_id =
> t_inspect_result.inspect_id
> AND t_inspect.serial_number_id = '184'
> ORDER BY t_inspect_result.inspect_id DESC,
> t_inspect_result.inspect_timestamp DESC
> -- inspect_id desc impacts end result. time desc
> -- impacts the groups prior to being distinctly listed
>
> as you can see in the note, the timestamp DESC works
> within the groups, not on the single group value
> ultimately returned (as it should). how can i get it
> to work on returned groups, too? i work around it by
> putting inspect_id in desc order (they typically occur
> one after another), but that may not always work.


It would be nice to see some sample data, output and explains.

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 04:18 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com