Equivalent commande IN pour simplifier des AND

Bonjour,

Je souhaiterais savoir s’il existe une commande pour MySQL qui fonctionne comme le IN mais pour effectuer des AND entre chaque valeur.

Commande IN:

WHERE couleur IN ('jaune','bleu','rouge') ;

est un peu équivalent à:

WHERE couleur = 'jaune' OR couleur = 'bleu' OR couleur = 'rouge';

Moi j’aimerais une commande permettant de faire ceci :

WHERE couleur COMMANDE ('jaune','bleu','rouge') ;

qui serait équivalent à:

WHERE couleur = 'jaune' AND couleur = 'bleu' AND couleur = 'rouge';

Merci de vos conseils. :slight_smile:
Edité le 22/09/2009 à 16:48

Tu ne penses pas qu’il y a contradiction ?

Non, parce qu’autant une couleur peut être jaune, bleu, ou rouge… mais elle ne peut pas être (en général, on ne parle pas de physique quantique ! :smiley: ce n’est quand même pas le chat de Schrodinger) à la fois jaune, bleu et rouge ! (ou alors, c’est du blanc :D)

Braiffe.
Edité le 21/09/2009 à 16:12

:lol: enfaite les couleurs c’était juste pour illustrer, moi c’est pour des règles de codage, je pensais que les couleurs étaient plus parlantes. :ane:

Pour l’exemple moi je le voyait pas comme tu l’a interprété mais plûtot comme les couleurs constituant une couleur (jaune et bleu = vert). :wink:

Je vois :slight_smile:

Tu joues donc plutôt sur les composants de la couleur en fonction d’un codage (ex: RVB => jaune = 0xFFFF00, bleu = 0x0000FF, et rouge = 0xFF0000).

En T-SQL il y a le keyword ALL mais pour MySQL je sais pas si ils ont l’equivalent.

Malheureusement je n’ais pas l’impression que ça existe pour MySQL. :frowning:

Pas grave une petite boucle, devrait résoudre ce problème. :wink:

Pas forcément :slight_smile: faut juste que tu explicite ton cas particulier :slight_smile:

Voui pcq j’ai beau me creuser la tete, je ne trouve aucun cas ou la query pourrai retourner un resultat :slight_smile:

ALL existe aussi sous MySQL (5.0+ en tout cas). Un truc du genre

WHERE couleur = ALL ('jaune', 'bleu', 'rouge');

devrait marcher.