Hi Holger, thanks for help, explanation, and future bug fixing.
Best regards, Lukasz. Becker, Holger wrote: > Lukasz Misztal wrote: > >> Hello everyone, >> >> i have a simple question: >> is order of fields in (left) join in MAXDB significant? >> >> For example: >> >> select * from "Table1" >> left join "Table2" on "Table1_ID"="Table2_IDTable1" >> >> Returns: >> 10 21 10 >> 11 ? ? >> >> but >> >> select * from "Table1" >> left join "Table2" on "Table2_IDTable1"="Table1_ID" >> >> Returns: >> ? 20 ? >> 10 21 10 >> >> I get confused. >> Two diffrent strategies (JOIN VIA KEY RANGE/JOIN VIA KEY COLUMN). >> >> I have searched bugs.mysql.com but it gets nothing. >> Is it bug whether my basic mistake? >> >> Lukasz >> >> --------------------- >> MAXDB 7.6.00.37 WinXp prof., test data: >> >> CREATE TABLE "Table1" >> ( >> "Table1_ID" Fixed (12,0), >> PRIMARY KEY ("Table1_ID") >> ) >> // >> CREATE TABLE "Table2" >> ( >> "Table2_ID" Fixed (12,0), >> "Table2_IDTable1" Fixed (12,0), >> PRIMARY KEY ("Table2_ID") >> ) >> // >> insert into "Table1" values (10) >> // >> insert into "Table1" values (11) >> // >> insert into "Table2" values (20,null) >> // >> insert into "Table2" values (21,10) >> // >> select * from "Table1" >> left join "Table2" on "Table2_IDTable1"="Table1_ID" >> // >> select * from "Table1" >> left join "Table2" on "Table1_ID"="Table2_IDTable1" > > Hi, > > Lars explanation is not correct the order of the predicate in the on clause > of an outer join should have no influence on the result. > The LEFT and RIGHT refers to the table from which you want to see every row > regardless if the on clause is qualified or not. > If you have TAB_A LEFT JOIN TAB_B ON TAB_A.X = TAB_B.Y you will see every row > from TAB_A regardless if there is a corresponding row in TAB_B. > And if you have TAB_B LEFT JOIN TAB_A ON TAB_A.X = TAB_B.Y you want to see > all rows from TAB_B regardless if there is a corresponding row in TAB_A. > > So this is definitely a bug within MaxDB and we will fix it with the next > version. > For detailed information about error processing see > http://www.sapdb.org/webpts?wptsdetail=yes&ErrorType=0&ErrorID=1149721 > > As a workaround you could use explicit tablename specification. > > In my test this example works: > > select * from "Table1" left join "Table2" on > "Table2"."Table2_IDTable1"="Table1"."Table1_ID" > select * from "Table1" left join "Table2" on > "Table1"."Table1_ID"="Table2"."Table2_IDTable1" > > Sorry for any inconvenience and thank you for reporting this bug. > > Best regards > Holger > > Holger Becker > MaxDB&liveCache > SAP AG > www.sap.com > Sitz der Gesellschaft/Registered Office: Walldorf, Germany > Vorstand/SAP Executive Board: Henning Kagermann (Sprecher/CEO), Léo > Apotheker, Werner Brandt, Claus Heinrich, Gerhard Oswald, Peter Zencke > Vorsitzender des Aufsichtsrats/Chairperson of the SAP Supervisory Board: > Hasso Plattner > Registergericht/Commercial Register Mannheim No HRB 350269 > > Diese E-Mail kann Betriebs- oder Geschäftsgeheimnisse oder sonstige > vertrauliche Informationen enthalten. Sollten Sie diese E-Mail irrtümlich > erhalten haben, ist Ihnen eine Kenntnisnahme des Inhalts, eine > Vervielfältigung oder Weitergabe der E-Mail ausdrücklich untersagt. > Bitte benachrichtigen Sie uns und vernichten Sie die empfangene E-Mail. > Vielen Dank. > > This e-mail may contain trade secrets or privileged, undisclosed, or > otherwise confidential information. If you have received this e-mail in > error, you are hereby notified that any review, copying, or distribution of > it is strictly prohibited. Please inform us immediately and destroy the > original transmittal. Thank you for your cooperation. > > > -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]