Heim >Datenbank >MySQL-Tutorial >Wie wähle ich Daten aus mehreren Tabellen mit identischen, mehrdeutigen Spalten aus?
Tabellen mit mehrdeutigen Spalten verbinden: Daten aus mehreren replizierten Tabellen auswählen
Ihre Herausforderung besteht darin, Daten aus mehreren Tabellen mit identischer, aber getrennter Struktur abzurufen zur Lokalisierung führt zu Mehrdeutigkeiten bei der Angabe von Spalten in einer WHERE-Klausel. MySQL kann beim Vergleich einer mehrdeutigen Spalte, z. B. „Genre“ in Ihrer Abfrage, nicht ermitteln, auf welche Tabelle verwiesen werden soll.
Lösung: Verwenden Sie den UNION-Operator
Um diese Mehrdeutigkeit aufzulösen können Sie den UNION-Operator verwenden. UNION kombiniert die Ergebnisse von zwei oder mehr SELECT-Anweisungen und erstellt so effektiv eine virtuelle Tabelle mit der Vereinigung aller Zeilen aus den einzelnen Tabellen.
Geänderte Abfrage:
(SELECT * FROM us_music WHERE `genre` = 'punk') UNION (SELECT * FROM de_music WHERE `genre` = 'punk')
Erklärung:
Diese modifizierte Abfrage trennt die SELECT-Anweisungen für jede beteiligte Tabelle. Jede Unterabfrage ruft Daten aus einer bestimmten Tabelle ab und stellt so sicher, dass es keine Mehrdeutigkeit in der Spaltenreferenz „Genre“ gibt. Der UNION-Operator kombiniert dann die Ergebnisse zu einem einzigen Ergebnissatz und stellt Ihnen die gewünschten Daten aus mehreren Tabellen bereit.
Das obige ist der detaillierte Inhalt vonWie wähle ich Daten aus mehreren Tabellen mit identischen, mehrdeutigen Spalten aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!