Heim >Datenbank >MySQL-Tutorial >Wie verbinde ich Tabellen mit durch Kommas getrennten Wertfeldern in SQL?
Abfragen mehrerer Join-Felder mit durch Kommas getrennten Werten
In SQL beim Umgang mit Tabellen, die durch Kommas getrennte Listen (CSVs) enthalten In ihren Fachgebieten kann es eine Herausforderung sein, Verknüpfungen effektiv durchzuführen. In diesem Artikel wird ein bestimmtes Szenario untersucht, in dem die Kategorienspalte in einer Filmtabelle mehrere Kategorie-IDs enthält. Das Ziel besteht darin, diese vollständig auszuschließen und gleichzeitig die entsprechenden Kategorienamen aus einer Kategorientabelle abzurufen.
Die folgenden Tabellen veranschaulichen das Szenario :
Table categories: -id- -name- 1 Action 2 Comedy 4 Drama 5 Dance Table movies: -id- -categories- 1 2,4 2 1,4 4 3,5
Um den gewünschten Join durchzuführen, können wir die Funktion find_in_set() in Verbindung mit einer Operation group_concat() verwenden. Hier ist die Abfrage:
select m.id, group_concat(c.name) from movies m join categories c on find_in_set(c.id, m.categories) group by m.id
Abfrageerklärung:
Die resultierende Ausgabe zeigt die Film-IDs zusammen mit den entsprechenden Kategorienamen in einem Array-Format an. Dies ermöglicht einen einfachen Zugriff auf die relevanten Kategorien, ohne dass die CSV-Datei in der Filmtabelle dekodiert werden muss.
Das obige ist der detaillierte Inhalt vonWie verbinde ich Tabellen mit durch Kommas getrennten Wertfeldern in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!