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