Page 1 sur 1

affichage divers

Posté : 18 juil. 2006, 22:23
par beansoldier
Bonjour !

J'ai un petit problème de requête, du moins d'utilisation !

Imaginons que jai ces 3 champs dans Table :

Nom_1
Nom_2
Limitation (0, 1, 2 ou 3)

donc j'utilise la requete suivante :
SELECT * FROM Table WHERE Limitation=1
Puis je fais affiché Nom_1

Cependant, dans certains cas il n'y a pas de Nom_1 mais uniquement un Nom_2, comment puis-je faire pour qu'il affiche pour tous le nom_1 sauf a ceux qui ont uniquement un nom_2 auquel cas le nom_2 s'afficherai a la place du nom_1

Je ne demande en aucun cas un code tout fait mais une URL ou autre qui me guiderai vers une reponse ;)

Merci d'avance

Posté : 18 juil. 2006, 22:36
par Truc
Salut,

COALESCE() devrait convenir (si le champ est NULL)

Posté : 18 juil. 2006, 22:37
par albat
Il y a 2 possibilités :
1. en SQL : inclure dans ton SELECT un IF qui testerai la vacuité de nom_1 et nom_2
2. en PHP : afficher nom_2 uniquement lorsque nom_1 est vide

Posté : 18 juil. 2006, 22:47
par beansoldier
Truc :

Donc en clair ça donnerai ça ?

SELECT COALESCE (Nom_1,Nom_2)

Donc si Nom_1 est vide, il affiche Nom_2 c'est bien ça ?

Merci à vous 2 j'en prend bonne notes :wink:

Posté : 18 juil. 2006, 23:11
par Truc
Teste :D

Posté : 19 juil. 2006, 22:43
par beansoldier
Bonsoir !

J'aurais encore une question niveau syntaxe du IF, vous me dites de le mettre en SELECT, quelqu'un peut-il me dire si cette syntaxe est juste en gros :
SELECT IF Nom_1<>"" THEN Nom_1 ELSE Nom_2 FROM Table WHERE Limitation=1
J'ai consulter le guide mysql mais ce n'est pas expliquer comment l'integrer au select ^^

Merci d'avance

Posté : 19 juil. 2006, 23:04
par albat
Cette syntaxe-là me paraît plus correcte... ;)
SELECT IF(Nom_1<>"", Nom_1, Nom_2) FROM Table WHERE Limitation=1
:arrow: http://dev.mysql.com/doc/refman/5.0/en/ ... tions.html