sql >> Database teknologi >  >> RDS >> Mysql

SQL-forespørgsel med flere værdier i én celle

Brug FIND_IN_SET at søge efter noget i en kommasepareret liste.

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)

Det ville dog være bedre at oprette en relationstabel i stedet for at gemme kurserne i en enkelt kolonne. Denne type join kan ikke optimeres ved hjælp af et indeks, så det vil være dyrt for et stort bord.



  1. 11 måder at hente en primær nøgle i SQL Server (T-SQL eksempler)

  2. Databasekontrolpunkter i SQL Server

  3. Sådan får du månedens navn fra en dato i Oracle

  4. Sådan sammenkædes flere rækker i én kolonne i MySQL