So verknüpfen Sie dieselbe Tabelle mehrmals in MySQL
In Szenarien, in denen Sie Datensätze aus derselben Tabelle mehrmals innerhalb eines Zeitraums verknüpfen müssen Abfrage bietet MySQL die Möglichkeit, eine Tabelle mit sich selbst zu verknüpfen. Dadurch können Sie Daten aus verschiedenen Zeilen derselben Tabelle abrufen und so effektiv eine neue Beziehung zwischen den Zeilen erstellen.
Um dieses Konzept zu veranschaulichen, stellen Sie sich das folgende Szenario vor:
Sie haben zwei Tabellen: „Domains“ und „Bewertungen“. In der Tabelle „Domänen“ werden Domänen-IDs und Domänennamen gespeichert, während die Tabelle „Bewertungen“ Bewertungsdaten enthält und auf Domänennamen sowohl für den Absender (rev_dom_from) als auch für den Empfänger (rev_dom_for) verweist.
Ihre Aufgabe besteht darin, beide anzuzeigen Domainnamen auf einer Webseite. Während Sie mit einem standardmäßigen LEFT JOIN problemlos einen Domainnamen anzeigen können, stellt sich die Frage: Wie rufen Sie den zweiten Domainnamen aus der Spalte „rev_dom_from“ ab?
Die Lösung liegt in der Verwendung mehrerer Joins. Durch mehrfaches Verknüpfen der „Domains“-Tabelle können Sie unterschiedliche Beziehungen zwischen den Bewertungen und den entsprechenden Domainnamen herstellen:
SELECT toD.dom_url AS ToURL, fromD.dom_url AS FromUrl, rvw.* FROM reviews AS rvw LEFT JOIN domain AS toD ON toD.Dom_ID = rvw.rev_dom_for LEFT JOIN domain AS fromD ON fromD.Dom_ID = rvw.rev_dom_from
In dieser Abfrage:
Durch Aliasing der verbundenen Tabellen können Sie zwischen den beiden Instanzen unterscheiden und die gewünschten Daten abrufen. Diese Technik, dieselbe Tabelle mehrmals zu verknüpfen, wird allgemein als „Selbstverknüpfung“ bezeichnet und kann in verschiedenen Szenarien angewendet werden, in denen Sie mehrere Beziehungen innerhalb einer einzelnen Tabelle herstellen müssen.
Das obige ist der detaillierte Inhalt vonWie verknüpfe ich eine Tabelle in MySQL selbst, um Daten aus mehreren Zeilen abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!