dedlfix: MySQL Abfrage funktioniert nicht

Beitrag lesen

Hi!

geht nicht
SELECT * FROM auftrag_rechnung

INNER JOIN auftrag ON auftrag.auftragnr=auftrag_rechnung.auftragnr
INNER JOIN auftrag_mahnung ON auftrag_mahnung.auftragnr=auftrag.auftragnr
INNER JOIN auftrag_zahlung ON auftrag_zahlung.auftragnr=auftrag_rechnung.auftragnr

geht
SELECT * FROM auftrag_rechnung

INNER JOIN auftrag ON auftrag.auftragnr=auftrag_rechnung.auftragnr
INNER JOIN auftrag_zahlung ON auftrag_zahlung.auftragnr=auftrag_rechnung.auftragnr

Du weißt, dass ein Inner Join ein kartesisches Produkt erzeugt, dass also jeder Datensatz mit jedem verknüpft wird? Wenn du 5 Datensätze in der einen und 6 in der anderen hast, kommen zumindest als Zwischenergebnis schon 30 Datensätze zusammen. Das wird nicht weniger, wenn du noch weitere Tabellen hinzunimmst. Versuch solche Monster zu vermeiden. Korrelierte Subquerys können Besserung bringen.

Lo!