Requête conditionnelles [Résolu]

Signaler
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
-
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
-
Bonjour ,

J'ai une table avec plusieurs champs dont deux concernant la date de création et celle de modification.
Je recherche donc à sélectionner la valeur du champ de création si celui de modification est vide.
Comment faire?




Bonne soirée
GillesWebmaster

5 réponses

Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
25
J'aurai tendance à dire :

SELECT machin, bidule, truc, modification FROM taTable

... la date de modification étant forcement plus récente que celle de création, non ?
Suffirait de mettre à jour le champ modification lors de la creation.

Sinon cette requête devrait répondre à ta demande, sauf si j'ai mal compris :
SELECT machin, trucmuche, GREATEST(creation, modification) FROM taTable 



Cordialement,

Kohntark -
Messages postés
855
Date d'inscription
mardi 19 novembre 2002
Statut
Membre
Dernière intervention
28 juillet 2009
1
la solution de Kohntark est jolie, il faut juste vérifier que l'opérateur GREATEST fonctionne sur un élement null.


Sinon tu peux faire:
SELECT CASE WHEN date_modif IS NULL THEN date_creation ELSE date_modif END as date_voulue FROM ...
ou, plus propre:
SELECT COALESCE(date_modif,date_creation) as date_voulue FROM ...


-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
Bonjour ,

Avec le recul j'ai un peu honte, je cherchais en vain une méthode de tri conditionnel puis de jointure sans avoir pensé au tout bête GREATEST! merci, kohntakt

Merci à toi aussi, dawwart, ta méthode est tout autan éléguante!

Bonne Journée
GillesWebmaster
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
25
Salut,

Heu ... avec un WHERE ?
SELECT date_creation FROM taTable WHERE date_modification IS NULL



Cordialement,


Kohntark -
Messages postés
496
Date d'inscription
mercredi 30 juin 2004
Statut
Membre
Dernière intervention
29 juillet 2009
1
Bonjour ,
Je suis désolé, pas assez clair...
Je veux que la requête me liste tous les éléments de ma table mais au lien qu'à chaque ligne, elle m'afficher la date d'ajout et de modification, je veux qu'elle m'affiche la date la plus récente. En sorte, au lieu d'avoir X colonnes, j'en aurai X-1 car deux sont transformés en une...
Bonne soirée
GillesWebmaster