{MySQL} Condition ds une requête Select (IF)
Résolu
guillaume_74
Messages postés
111
Date d'inscription
Statut
Membre
Dernière intervention
-
guillaume_74 Messages postés 111 Date d'inscription Statut Membre Dernière intervention -
guillaume_74 Messages postés 111 Date d'inscription Statut Membre Dernière intervention -
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! :)
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! :)
A voir également:
- Mysql select where if
- Where is it - Télécharger - Gestion de fichiers
- Mysql community server - Télécharger - Bases de données
- If out - Forum Matériel & Système
- Reboot and select proper boot device asus - Forum Matériel & Système
- Please select boot device - Forum Windows 7
3 réponses
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
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
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...
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...