[résolu]SQL afficher valeur d'une ligne en fonction d'une condition

SQL afficher valeur d'une ligne en fonction d'une condition [résolu] - SQL/NoSQL - Programmation

Marsh Posté le 16-10-2017 à 17:28:32    

Bonjour,
 
je souhaite faire une requête et afficher dans une nouvelle colonne la valeur d'une autre si la valeur de la ligne est nulle
le code sera plus explicite
 

Code :
  1. select
  2. produit,
  3. evenement
  4. case when
  5. produit <>'' then produit
  6. else evenement
  7. end as code_produit_futur
  8. from ma table


 
mais j'ai l'impression que Case When ne peut afficher qu'un texte de remplacement pas la valeur de la ligne correspondante.
 
votre avis ?


Message édité par GeekAlf le 18-10-2017 à 17:47:18

---------------
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème
Reply

Marsh Posté le 16-10-2017 à 17:28:32   

Reply

Marsh Posté le 16-10-2017 à 18:45:06    

Si ça doit fonctionner. Tu obtiens quoi ? Quand tu veux quoi ?
 

Citation :

si la valeur de la ligne est nulle


 
NULL ou vide ?
 
Pour la première (non NULL) c'est :

Code :
  1. ... WHEN produit IS NOT NULL THEN ...


Auquel cas, on peut éventuellement abréger le CASE par COALESCE ou un IFNULL :

Code :
  1. COALESCE(produit, evenement) AS code_produit_futur


 
Pour la seconde (non vide/pas la chaîne vide), c'est bien comme tu l'as écrit :

Code :
  1. ... WHEN produit <> '' THEN ...


Message édité par pluj le 16-10-2017 à 18:50:52
Reply

Marsh Posté le 18-10-2017 à 17:46:44    

Merci Pluj,  
 
effectivement le code était bon, j'avais un where mal géré qui ne renvoyait rien.
 
bonne journée

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed