Select: afficher 1 valeur par défault si le champ est null ou ne contient rien

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Select: afficher 1 valeur par défault si le champ est null ou ne contient rien

par zeus » 25 oct. 2007, 16:23

Il existe la fonction MySQL IFNULL(expr1, expr2) qui retourne expr1 si elle n'est pas nulle, expr2 sinon. Je pense que ça devrait répondre à ton besoin.

Sache qu'il existe également une fonction MySQL COALESCE(expr1, expr2, ...) qui retourne la 1ère valeur non nulle de la liste d'argument, ou NULL si tout les arguments sont null. Cette fonction peut être utile si tu utilises des jointure où tu veux utiliser une colonne de la table 1, ou une colonne de la table 2 si la 1ère est nulle, voire une valeur par défaut si les 2 colonnes précédentes sont nulles ;)

@dom : ça serait dommage de modifier la structure de la base pour une question d'affichage ;)

par Invité » 25 oct. 2007, 16:14

Par ce que je n'ai pas le droit de changer la valeur du champ dans la table. Je dois faire avec ce que j'ai...
Aussi, je ne veux pas passer par un script, il faut que ça se fasse par la requête sql.

par d0m » 25 oct. 2007, 16:12

Si tu veux que ca le fasse au niveau SQL, pourquoi ne pas mettre justement 'aucun' par défaut pour ce champ au lieu de null?

Select: afficher 1 valeur par défault si le champ est null o

par Mhh » 25 oct. 2007, 16:06

Bonjour,

je fais le select suivant :

Code : Tout sélectionner

SELECT id_client, accessoires FROM client
Ca me donne le résultat suivant :

Code : Tout sélectionner

1 lunettes 2 3 montre 4 bijoux
L'id_client 2 a le champ accessoir à NULL

Comment réécrire ma requete pour qu'il me sorte "Aucun" à la place de '' pour les accessoires de l'id_client 2 ? En gros, j'aimerais que la requête produise le résultat suivant :

Code : Tout sélectionner

1 lunettes 2 Aucun 3 montre 4 bijoux
Merci !