Re: SQL question - Mailing list pgsql-general

From Richard Huxton
Subject Re: SQL question
Date
Msg-id 200306191937.40883.dev@archonet.com
Whole thread Raw
In response to SQL question  (Együd Csaba <csegyud@freemail.hu>)
List pgsql-general
On Thursday 19 Jun 2003 5:36 pm, Együd Csaba wrote:
> Hi All,
> I have a problem. I have 3 tables.
> 1. stock changes
> 2. product groups
> 3. a link table between the 2 above
>
> I need the name of the product group the product belongs to, which product
> is the subject of the stock change. (I hope it's understandable)
>
> So I tried this query:
> ---------------------------------------------------------------------------
>- ------------------
> DB=# select t_stockchanges.productid, (select name from t_productgroups
> where id=(select productgroupid from t_prod_in_pgr where
> productid=t_stockchanges.productid)) as pgroup from t_stockchanges;

Try something like:

SELECT chg.productid, grp.name as pgroup
FROM t_stockchanges chg, t_prod_in_pgr pp, t_productgroups grp
WHERE chg.productid=pp.productid AND pp.productgroupid=grp.id;

I might have got some of your fields wrong, but what I'm trying to do is join
across the linked fields.

change.product_id => linktbl.product_id, linktbl.group_id => groups.group_id

No need for a subselect here.
--
  Richard Huxton

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Finding Current Page Size
Next
From: Andrew Ayers
Date:
Subject: Re: Performance differences using varchar, char and text