Verknüpfen mehrerer Tabellen in MySQL mit INNER JOIN
Bei der Arbeit mit relationalen Datenbanken wie MySQL können Sie durch das Verknüpfen von Tabellen Daten aus mehreren Tabellen abrufen Tabellen basierend auf gemeinsamen Spalten. Dieses Tutorial führt Sie durch den Prozess der Verknüpfung von drei Tabellen: Bestellungen, Produktpreise und Produkte.
Problembeschreibung
Zum Abrufen von Produkten, die sich auf einen bestimmten Benutzer beziehen, und Einschließen eines Hyperlink zu jedem Produkt, eine vierte Tabelle mit Auflistungen muss hinzugefügt werden. Die aktuelle Abfrage gibt jedoch doppelte Datensätze aus der Auflistungstabelle zurück.
Lösung
Um dieses Problem zu beheben, ändern Sie die Abfrage wie folgt:
SELECT p.id, p.name, l.url, o.user_id, o.pricing_id FROM orders AS o INNER JOIN products_pricing AS pp ON o.pricing_id = pp.id INNER JOIN products AS p ON pp.product_id = p.id INNER JOIN listings AS l ON l.user_id = o.user_id WHERE o.user_id ='7' AND l.id = 233 AND l.url = 'test.com';
Erklärung:
Ausgabe
Für die bereitgestellten Beispieldaten gibt die aktualisierte Abfrage Folgendes zurück:
| 33 | Testprodukt | test.com | 7 | 37 |
Diese Ausgabe enthält die Produkt-ID, den Namen, die Angebots-URL, die Benutzer-ID und die Preis-ID für den spezifischen Benutzer mit Benutzer-ID 7.
Das obige ist der detaillierte Inhalt vonWie kann man vier Tabellen in MySQL effizient verknüpfen, um doppelte Datensätze zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!