Re: SQL Problem

From: <operationsengineer1(at)yahoo(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: SQL Problem
Date: 2005-06-30 16:26:21
Message-ID: 20050630162621.69632.qmail@web33312.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

sean,

thank you for the help. your suggestion got me really
close, but i had to make a slight modification to
prevent dupe rows - one for each employee. i needed
to put employee_id in my select and use it to equate
to assembly_notes_contact_id.

here is the final code...

SELECT notes.assembly_notes_id, notes.assembly_notes,
notes.assembly_notes_contact_id, emp.employee_id,
emp.first_name, emp.last_name

FROM t_product AS prod, t_link_product_assembly_notes
AS link, t_assembly_notes AS notes, t_employee as emp

WHERE link.assembly_notes_id = notes.assembly_notes_id
AND link.product_id = prod.product_id
AND notes.assembly_notes_contact_id = emp.employee_id
AND link.product_id = $product

i also tried to optimize the query by putting the
quickest where clause first, second quickest second,
etc... i realize this can be dynamic as more rows may
change the total query/return times.

thanks again for the guidance.

--- Sean Davis <sdavis2(at)mail(dot)nih(dot)gov> wrote:

>
> On Jun 28, 2005, at 6:41 PM,
> <operationsengineer1(at)yahoo(dot)com> wrote:
>
> > i'm not sure if this is the best place to ask (if
> > there is a better mailing list, please let me
> know)...
> >
> > i have a sql problem. i have the following
> query...
> >
> > $sql_notes = "SELECT notes.assembly_notes,
> > notes.assembly_notes_contact_id " .
> >
> > "FROM t_product AS prod,
> t_link_product_assembly_notes
> > AS link, t_assembly_notes AS notes " .
> >
> > "WHERE link.product_id = prod.product_id " .
> > "AND link.assembly_notes_id =
> notes.assembly_notes_id
> > ".
> > "AND link.product_id = " . $product_id;
> >
> > it works great except for one problem. i want the
> > assembly_notes_contact (the actual name) instead
> of
> > the assembly_notes_contact_id. the result of this
> > query is stored in an array and then i iterate
> through
> > the array before displaying the data.
> >
> > assembly_notes_contact_id is a foreign key to the
> > employee table's primary key. i want to be able
> to
> > query the db and get the employee name (instead of
> his
> > id) into the recordset array. the employee name
> is
> > the same as the assembly_notes_contact.
> >
> > is this possible? if so, how?
>
> You just need to do another join to the employee
> table.
>
> $sql_notes = "SELECT notes.assembly_notes,
> notes.assembly_notes_contact_id,employee.name " .
>
> "FROM t_product AS prod,
> t_link_product_assembly_notes
> AS link, t_assembly_notes AS notes,t_employee as
> employee " .
>
> "WHERE link.product_id = prod.product_id " .
> "AND link.assembly_notes_id =
> notes.assembly_notes_id".
> "AND
>
notes.assembly_notes_contact_id=employee.employee_id".
> "AND link.product_id = " . $product_id;
>
> You will, of course, have to change the table names,
> etc. to match your
> table descriptions.
>
> Sean
>
>

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

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message O'Toole, Adam Troy 2005-06-30 16:33:27 getting Salt value from server
Previous Message Michael Glaesemann 2005-06-30 15:52:23 Re: Aliased table names ...oddity?