Hi Holger,

Thanx a lot for your quick answer. 

The statement you sent seems to work fine and returns the expected result (count=205). 
What's very interesting about it is that it works fine in Oracle and Internal SQL 
mode. But it does not work under Oracle 8 because of an invalid syntax. 

So If I understand this right that the original statement isn't working results in a 
bug of MaxDB?

Regards,
  Mathias

-----Original Message-----
From: Becker, Holger [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, June 29, 2004 1:48 PM
To: Stoedtler, Mathias
Subject: AW: AW: bug in outer join with (+)

Hi Mathias,

looks like a known but not fixwd design problem 
within (+) outer joins syntax in MaxDB.

Could you please try this statement and let me know 
the result.

SELECT  t1.ent_name
FROM   ifc_entities T1 
inner join rep_labels T4 on T4.lbl_oid = T1.ent_lbl_oid 
left outer join ifc_attributes T6 on  T1.ent_atr_oid = T6.atr_oid
left outer join rep_labels T7 on T6.atr_lbl_oid = T7.lbl_oid
left outer join ifc_attributes T10 on T1.ent_search_atr_oid = T10.atr_oid
left outer join rep_labels T11 on T10.atr_lbl_oid = T11.lbl_oid

Kind regards
Holger
SAP Labs Berlin

> -----Urspr�ngliche Nachricht-----
> Von: Stoedtler, Mathias [mailto:[EMAIL PROTECTED] 
> Gesendet: Dienstag, 29. Juni 2004 12:16
> An: [EMAIL PROTECTED]
> Betreff: Re: AW: bug in outer join with (+)
> 
> 
> 
> Hello,
> 
> Is my problem the same as in http://lists.mysql.com/maxdb/21965 ?
> 
> I'd like to do a select statement with lots of outer joins:
> 
> SELECT  t1.ent_name
> FROM   ifc_entities T1
> ,ifc_attributes T10
> ,rep_labels T11
> ,ifc_attributes T6
> ,rep_labels T7
> ,rep_labels T4
> WHERE (T4.lbl_oid = T1.ent_lbl_oid)
> AND (T6.atr_oid (+) = T1.ent_atr_oid)
> AND (T7.lbl_oid (+) = T6.atr_lbl_oid)
> AND (T10.atr_oid (+) = T1.ent_search_atr_oid)
> AND (T11.lbl_oid (+) = T10.atr_lbl_oid)
> 
> On Oracle this works fine and on a database with the same contents it
> returns 205 results. Funny thing about it is that on MaxDB it only
> returns one. Does this belong to the bug described in
> http://lists.mysql.com/maxdb/21965 ? 
> 
> 
> > As a workaround you could enable new outer join handling 
> > via command "diagnose optimize join outer on".
> 
> I tried this and it hadn't made any effect to the statement results.
> 
> I also tried to set the Parameter 
> JOIN_OPERATOR_IMPLEMENTATION to YES in
> Database Manager, but I wasn't able to do this because if I 
> typed in YES
> still NO appears for the new Value.
> 
> Greets,
>    Mathias
> 
> 
> 
> -- 
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to