Heim >Datenbank >MySQL-Tutorial >Wie wähle ich Daten aus mehreren Tabellen mit identischen, mehrdeutigen Spalten aus?

Wie wähle ich Daten aus mehreren Tabellen mit identischen, mehrdeutigen Spalten aus?

Barbara Streisand
Barbara StreisandOriginal
2024-12-29 15:52:15134Durchsuche

How to Select Data from Multiple Tables with Identical, Ambiguous Columns?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn