Und nochmal ein bisken Senf dazu.
Ich befürchte, irgendwer oder irgendwas will mich hier ärgern. Ich habe jetzt versucht die gleiche Abfrage auf einem MS
SQL Server 2000 nachzubilden. Ich habe ähnlich Daten genommen, für die aber in der LEFT OUTER JOIN Verknüpfung das selbe gelten MUSS. Ich habe eine Kundentabelle tKdn, jeder Kunden ist dort genau einmal aufgeführt, und eine Tabelle Aufträge tAuftr. Verknüpft sind beide über die Kundennr. Die Beziehung zw tKdn und tAuftr ist logischerweise 1:n. Ebenfalls hat nicht jeder Kunde Aufträge.
SQL-Code:
select count(distinct kundnr)
from tKdn left outer join tAuftr
on tKdn.kundnr=tAuftr.kundnr
Dies sollte mir die Anzahl aller Kunden ausgeben. Als Ergebnis erhalte ich aber nur die Anzahl aller Kunden, für die ein Auftrag existiert. Und das ganze habe ich mit dem
Query-Tool vom MS
SQL Server gemacht -also kein
BDE und localSQL.
Ich habe den Verdacht, dass ich bzgl. OUTER JOIN irgendwas komplett falsch verstanden habe, obwohl alle Definitionen, die ich im Inet gefunden habe, meine bisherige Meinung bestätigen.
Verzweiflung am eigenen Verstand macht sich langsam bei mir breit
Peter