Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL-Abfrage mehrerer Werte in einer Zelle

Verwenden Sie FIND_IN_SET um etwas in einer durch Kommas getrennten Liste zu suchen.

SELECT i.MemberID, i.MemberName, GROUP_CONCAT(c.Course) AS CoursesInterested
FROM CourseInterests AS i
JOIN Course AS c ON FIND_IN_SET(c.CourseId, i.CoursesInterested)

Es wäre jedoch besser, eine Beziehungstabelle zu erstellen, anstatt die Kurse in einer einzigen Spalte zu speichern. Diese Art von Join kann nicht mit einem Index optimiert werden, daher wird es für eine große Tabelle teuer.