Ich habe eine Tabelle partenaire
. Ein Partenaire kann eine oder mehrere Adressen haben. Und natürlich kann eine Adresse zu mehr als einem Partenaire "gehören". Also habe ich 3 Tabellen: partenaire
, partenaire_adresse
und adresse
. Die Adresse hat nur eine Stadt ( ville
in Französisch), daher habe ich einen Fremdschlüssel id_ville
in der Tabelle addresse
.
Das gibt mir diese Ergebnisse:
%Vor% Wenn ich nun LEFT OUTER JOIN
für die letzte Tabelle ( region
) mache, sind die Ergebnisse nicht die gleichen:
Nicht die gleichen Ergebnisse. Siehe:
%Vor%Ich denke, das sollte es nicht, denn in der ersten Abfrage sind id_region und id_departement nicht null, also sollten Sie, wenn Sie einen "JOIN" oder einen "LEFT OUTER JOIN" machen, die Ergebnisse gleich sein. Oder vermisse ich etwas?
Das Problem, auf das Sie stoßen, hängt mit der Tatsache zusammen, dass SQL keine Garantie für die Reihenfolge des Ergebnisses gibt, wenn keine Reihenfolge angegeben ist. Wenn Sie eine ORDER BY-Klausel hinzufügen, sollten Sie die gleichen Ergebnisse erhalten, vorausgesetzt, dass die Tabellen in allen Zeilen übereinstimmende Schlüssel haben (natürlich).