[MySQL] fonctionnement de SELECT IN...

fonctionnement de SELECT IN... [MySQL] - PHP - Programmation

Marsh Posté le 17-11-2003 à 14:25:26    

J'ai consulté la doc de mysql et suis tombé sur l'opérateur IN dont les exemples sont les suivants :
 

Code :
  1. mysql> SELECT 2 IN (0,3,5,'wefwf');
  2.         -> 0
  3. mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
  4.         -> 1


 
pas très utile comme exemple à mon avis.
 
M'enfin quelqu'un connaitrait un tuto avec de vrais exemples?
 
 
Je m'y interesse pour faire la chose suivante : j'ai dans un champ de ma table, des listes du genre "1,5,6,7,3" "1,8,3,45,12" "2,78,6,98,4" etc.
 
Et j'aimerais avec un zolie requête renvoyer les enregistrements dont la liste contient 6 par exemple (ici enregistrements 1 et 3), c'est possible avec IN?

Reply

Marsh Posté le 17-11-2003 à 14:25:26   

Reply

Marsh Posté le 17-11-2003 à 15:08:12    

Non, ce n'est pas possible tel que tu le décris. Le IN fonctionne avec une série de valeurs, or, ce que tu lui donnerais, c'est UN champ, qui plus est de type string, or tu voudrais faire des comparaison sur des entiers.
Dans ton cas, si tu ne veux pas changer la structure de ta table, tu devrais regarder du côté du LIKE.
 
Mais pour faire plus performant, il faudrait que tu changes ta façon d'aborder le problème.

Reply

Marsh Posté le 17-11-2003 à 15:08:44    

non mais LIKE est fait pour ça :
 
champ LIKE "6,%" or champ LIKE "%,6" or champ LIKE "%,6,%" or champ  = "6"


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 17-11-2003 à 15:27:40    

certes mais in c'était joli :D
 
merci les gars

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed