pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: M.P.Dankoor <m.p.dankoor@gmail.com>
To: devil live <definite_ocean@hotmail.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Conditional SQL Query
Date: Thu, 11 Jan 2007 23:01:42 +0100
Message-ID: <45A6B3C6.7000707@gmail.com> (raw)
In-Reply-To: <BAY20-F159C48AE0E201B150535BFEEB10@phx.gbl>
References: <BAY20-F159C48AE0E201B150535BFEEB10@phx.gbl>

I think that the simplest solution is to use an union e.g:

select  PRD.product_code
       ,PRD.product_name
       ,NULL::int            AS production_no
       ,PTT.stock_code_to_make_product
       ,PTT.amount
from  product PRD
     ,product_tree_template PTT
where 1 = 1
AND PRD.product_code = PTT.product_code
UNION
select  PRD.product_code
       ,PRD.product_name
       ,PTS.production_no
       ,PTS.stock_code_to_make_product
       ,PTS.amount
from  product PRD
     ,product_tree_special  PTS
where 1 = 1
AND PRD.product_code = PTS.product_code
ORDER BY 1,2,4


I've added an order by the columns 1,2 and 4 (just guessing),
note that this particular solution uses positional ordering, i.e no 
column names.

Mario

devil live wrote:
>
> I want to write sql statement about product, product_tree_special, 
> product_tree_template
>
> product has
>  product_code varchar(20) PRIMARY KEY,
>  product_name varchar(20)
>
> product_tree_template has
>  product_code varchar(20)  PK,
>  stock_code_to_make_product(20)   PK,
>  amout float4
>
> product_tree_spcial has
>  production_no serial,
>  product_code varchar(20)  PK,
>  stock_code_to_make_product(20)   PK,
>  amout float4
>
>
>
> NOW : product_tree_template table is the default table for production 
> ingredients of the PRODUCT
>
> but sometimes my customer using special product_tree table for some 
> production_no
>
> how can I write a query to get right ingredients of a product basis on 
> production_no field
>
> such as;
>
> first check production_no if product_tree_special table if not found 
> then look at template table...
>
> What are your suggestions?
>
>
>
> PS: I do not wanna write PL functions for this...
>
> Thanks
>
> _________________________________________________________________
> Hava durumunu bizden ögrenin ve evden öyle çikin! 
> http://www.msn.com.tr/havadurumu/
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>




view thread (10+ messages)  latest in thread

Message-ID: <45A6B3C6.7000707@gmail.com>
Permalink:  ../45A6B3C6.7000707@gmail.com/
Also on:    postgresql.org/message-id/45A6B3C6.7000707@gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: m.p.dankoor@gmail.com, definite_ocean@hotmail.com
  Subject: Re: Conditional SQL Query
  In-Reply-To: <45A6B3C6.7000707@gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox