Ich versuche, alle Zeilen aus 3 Tabellen anzuzeigen.MySQL: alle Zeilen aus 3 Tabellen angezeigt
Ich muss die vollständige Kundenliste anzeigen. Jeder Kunde kann 0, 1 oder mehr Einreichungen haben. Jede Einreichung kann 0,1 oder mehr Produkte haben.
CustomerID | submissionID | submissionProductID
001 | s001 | sp001
001 | s002 | sp002
002 | s003 | sp003
002 | s003 | sp004
002 | s003 | sp005
003 | --- | ---
004 | s005 | ---
so:
customer 1 has 2 submissions, 1 product in each.
customer 2 has 1 submission containing 3 products.
customer 3 has no submission.
customer 4 has 1 submission but no pruducts.
Ich kann nicht alle Datensätze anzuzeigen scheinen. Die folgende SQL zeigt alle Kunden an, jedoch nicht mehrere Submisison-Reihen oder mehrere Produktreihen.
Und natürlich, einige Kunden haben eine leere Einreichung und Produkt. Und einige Kundeneinreichungen haben kein Produkt.
SELECT c.CustomerID as 'CustID', s.submissionID, sp.submissionProductID
FROM tblCustomer c
LEFT JOIN tblSubmission s on c.CustomerID = s.customerID
LEFT JOIN tblSubmissionProducts sp on s.submissionID = sp.submissionID
GROUP BY c.CustomerID
ORDER BY c.CustomerID;
Jede Hilfe wird geschätzt. Danke.
durch Klausel Ihre Gruppe entfernen, verwenden Sie es nicht, wenn Sie die von Klausel eine Gruppe erfordert keine Aggregatfunktion haben. –
Das hat den Trick, denke ich. Testen Sie die Ausgabe erneut. – nads