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 und das Ziel darin besteht, 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 wird angezeigt die Film-IDs zusammen mit den entsprechenden Kategorienamen in einem Array-Format. Dies ermöglicht einen einfachen Zugriff auf die relevanten Kategorien, ohne dass die CSV-Datei in der Filmtabelle dekodiert werden muss.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3