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



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to