Table de requête avec plusieurs valeurs séparées par des virgules dans une colonne
Dans ce scénario, vous disposez d'une table avec une colonne qui contient des virgules des valeurs séparées, et vous êtes confronté au défi d'interroger cette colonne pour des valeurs spécifiques. Le dilemme survient lorsque plusieurs valeurs sont stockées dans la même cellule, ce qui rend difficile la localisation d'une valeur particulière avec précision à l'aide de simples filtres SQL.
Pour résoudre ce problème, une approche viable consiste à normaliser votre schéma de base de données en créant un tableau séparé pour les noms d'enfants. Cela vous permettrait de joindre des tables en fonction des ID ou des noms d'enfants, permettant un filtrage et une récupération précis des données.
Alternativement, si la restructuration du schéma n'est pas réalisable, vous pouvez utiliser la fonction FIND_IN_SET dans votre requête SQL. Cette fonction vous permet de rechercher une valeur spécifique dans une liste séparée par des virgules stockée dans une colonne. En implémentant cette fonction, vous pouvez affiner votre requête pour identifier les lignes où la valeur souhaitée existe dans la colonne des enfants.
Par exemple, dans votre exemple, vous pouvez exécuter la requête suivante pour trouver les parents qui ont un enfant nommé "Alex":
SELECT * FROM table_name WHERE FIND_IN_SET('Alex', children);
Grâce à cette approche, vous pouvez localiser et récupérer efficacement des données en fonction de valeurs spécifiques stockées dans des colonnes séparées par des virgules, même lorsque plusieurs noms résident dans le même cellule.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!