SQLWKS> SELECT Exp_Work_ID AS Work_ID, Exp_Res_ID AS Res_ID, Exp_Role_ID AS Role_ID, Exp_Category AS MatCat_ID,
2> to_date(to_char(Exp_Post_Date, 'yyyymmdd'), 'yyyymmdd') AS Exp_Date,
3> mwebWork.Work_Int_Ext8 AS Company_ID,
4> Exp_reported_amount*NVL(currency.fx_rate,NVL(null_curr_date.fx_rate,1)) as Expense_Amount,
5> DECODE(Exp_Type, 10, 0 ,20, Exp_reported_amount*NVL(currency.fx_rate,NVL(null_curr_date.fx_rate,1))) as Billed_Expense
6> FROM mwebExpense, mwebwork , mwebFXRate Currency, mwebFXRate Null_Curr_Date
7> WHERE mwebExpense.Exp_Work_ID = mwebWork.Work_ID
8> AND mwebWork.Work_Currency = Currency.FX_Currency_ID (+)
9> AND mwebExpense.Exp_Post_Date >= Currency.FX_Start_Date (+)
10> AND mwebExpense.Exp_Post_Date <= Currency.FX_Finish_Date (+)
11> AND mwebWork.Work_Currency = Null_Curr_Date.FX_Currency_ID (+)
12> AND Null_Curr_Date.FX_Start_Date IS NULL
13> AND Null_Curr_Date.FX_Finish_Date IS NULL ;
AND mwebWork.Work_Currency = Currency.FX_Currency_ID (+)
*
ORA-01417: a table may be outer joined to at most one other table
Any help please, I want to show records from mwebexpense, mwebwork even if now rows returned by mwebFXRate Currency, mwebFXRate Null_Curr_Date.
Also, in the following query I am trying to get that DECODE to work -
1. I have simplified this query for this forum, I tried union it does not work... Is there any way to do this query in Oracle 8.0.6 ?
SELECT mwebMatrix.Mat_Work_ID, mwebMatrix.Mat_Date, Currency.FX_Start_Date,
Currency.FX_Finish_Date, Null_Curr_Date.FX_Currency_ID,Currency.FX_Currency_ID
FROM mwebMatrix , mwebFXRate Currency, mwebWork Work_Link ,
mwebFXRate Null_Curr_Date
WHERE mwebMatrix.Mat_Work_ID = Work_Link.Work_ID
AND Work_Link.Work_Currency = Currency.FX_Currency_ID (+)
AND mwebMatrix.Mat_Date >= Currency.FX_Start_Date (+)
AND mwebMatrix.Mat_Date <= Currency.FX_Finish_Date (+)
AND Work_Link.Work_Currency = Null_Curr_Date.FX_Currency_ID (+)
AND Null_Curr_Date.FX_Start_Date IS NULL
AND Null_Curr_Date.FX_Finish_Date IS NULL
AND mwebMatrix.Mat_Category < 4000;
2. Also, in the following query I am trying to get that DECODE to work -
Hi,
I don't have those tables, so couldn't run the script.
but try to change
AND mwebMatrix.Mat_Date >= Currency.FX_Start_Date (+)
AND mwebMatrix.Mat_Date <= Currency.FX_Finish_Date (+)
to AND mwebMatrix.Mat_Date between
nvl(Currency.FX_Start_Date ,mwebMatrix.Mat_Date )
and nvl(FX_Finish_Date ,mwebMatrix.Mat_Date )
u can use the same creteria in <= or >= conditions?
Bookmarks