Les Allergies
Alimentaires
Posez votre question Signaler

{MySQL} Condition ds une requête Select (IF) [Résolu]

guillaume_74 103Messages postés 18 octobre 2008Date d'inscription 29 juillet 2010Dernière intervention - Dernière réponse le 14 août 2009 à 17:01
Bonjour,
J'aimerai mettre une condition dans une requête "SELECT" pour afficher une colonne supplémentaire avec un libellé.
Au départ, le libellé je l'avais générer dans le code en PHP, mais je ne peux donc pas faire de tri dessus.
C'est pourquoi j'ai pensé le générer dans le select.
Cependant je ne connais pas la syntaxe et je ne sais pas ou la trouver.
Pour le moment j'ai tester avec un:
SELECT * ,(if (table1_id =2 OR table2_id=3) then "quelquechose" END) as champ_sup
FROM table1 t1
JOIN table2 t2 m ON t1.table1_ext=t2.table2_id
WHERE t1.champ="coucou"
pour avoir un affichage avec des:
**|**|table1_id|table2_id|**|champ_sup
**|**|1 |1 |**|
**|**|2 |1 |**|quelquechose
enfin par exemple... quelqu'un connaitrait l'adresse d'un tuto pour la syntaxe des ces conditions dans le select?
Merci d'avance! :)
Lire la suite 

{MySQL} Condition ds une requête Select (IF) »

3 réponses
Réponse
+5
moins plus
Pour ceux que ca intéresse, j'ai trouvé la solution a mon problème.

Alors dans la clause "select" il faut faire comme suit:
la syntaxe du if est: IF(test, si_vrai, si_faux)

Select *, IF(champ1 is null,IF(test2,"oui","non"),"non") from maTable
Ajouter un commentaire
Réponse
-1
moins plus
Du devrais aller voir du côté de CASE :
http://sql.1keydata.com/fr/sql-case.php
Ajouter un commentaire
Réponse
-1
moins plus
Je vais voir ce que je peux faire avec un case, seulement c'est plutot un "IF" qu'il me faut (j'ai pas le droit de mettre ma vrai requête) mais elle est un peu plus complexe que de tester 2 valeurs.

C'est plutot du genre: si un champs est renseigner et pas un autre, tu mets telle valeur...
sinon, si telle valeur = telle autre valeur, tu mets "concaténé("blabla" + valeur de tel champ + "blabla)

en gros...
Ajouter un commentaire
Ce document intitulé « {MySQL} Condition ds une requête Select (IF) » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?