Ich habe ein Problem mit der Abfrage, die eine Liste von Geschäften mit der Anzahl der damit verbundenen Produkte anzeigt. Ich spiele jetzt schon eine ganze Weile mit linken Joins herum, aber ohne Erfolg. Die Tabellen haben folgende Strukturen:
Shop-Tabelle mit Spalten: id
, name
Produkttabelle mit Spalten: id
, name
, status
, shop
Die Abfrage lautet wie folgt:
%Vor%Ich bekomme keine Geschäfte, die 0 Produkte haben. Wie kann ich das bitte erreichen?
Die zugrunde liegende Datenbank ist MySQL.
Danke! Krt_Malta p>
Sie müssen SHOP auf der LINKEN Seite, da die rechte Seite diejenige ist, die möglicherweise keine Daten hat, in diesem Fall PRODUKT.
Nicht nur das, Sie brauchen die WHERE-Bedingung als LEFT-JOIN-ON-Bedingung, so dass es sich zu Produkten auf der Statusbedingung verbindet und nur das Produkt (während des Ladens) abruft, auch wenn der Status nicht gewünscht ist.
%Vor%Ich hatte auch dieses Problem und obwohl ich mir nicht ganz sicher bin, warum das Prädikat auf das Jojn selbst und nicht auf die eigentliche Hauptfrage gelegt wird, wie man es löst.
Ich habe das Ganze tatsächlich dokumentiert, bevor ich das gelesen habe. Ich habe ein einfaches Beispiel mit zwei zwei kleinen Tabellen verwendet, es erklärt, ich hoffe den Unterschied, vielleicht wird es helfen