Comparaisons de deux dates sur trois de la base

Fermé
Nayos Messages postés 3 Date d'inscription jeudi 4 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013 - Modifié par Nayos le 4/07/2013 à 10:48
TOUFIKINFO34 Messages postés 8 Date d'inscription mardi 16 juillet 2013 Statut Membre Dernière intervention 16 juillet 2013 - 16 juil. 2013 à 09:13
Bonjour/soir !


Je m'adresse a vous car j'ai un problème plutôt épineux. La requête qui m'a été commandée est une requête comparant des dates et choissisant la plus récente. Le problème viens que, dans ma table, j'ai trois dates différentes, mais que seulement deux sont utilisées simultanément. J'ai réussi, grace a un lif dans une case de mon rapport correspondant a l'affichage de la date la plus récente. Cependant, je n'ai aucun moyen de faire passer la comparaison de la troisième date. Quelqu'un aurais t'il une solution ?

2 réponses

funnycat Messages postés 153 Date d'inscription jeudi 12 février 2009 Statut Membre Dernière intervention 10 mars 2019 65
4 juil. 2013 à 13:43
Bonjour.
Désolé je ne comprend pas bien votre demande car j'ai du mal à visualiser la structure de votre table ainsi que les données qui la compose. Pouvez-vous donner la structure et lister au moins 3 ou 4 enregistrements de cette table.

En tout cas, de ce que j'ai compris vous allez surement devoir utiliser un CASE (cf. https://sql.sh/cours/case ) peut-être en complément de la fonction ISNULL().

Cordialement,
0
Nayos Messages postés 3 Date d'inscription jeudi 4 juillet 2013 Statut Membre Dernière intervention 17 juillet 2013
Modifié par Nayos le 4/07/2013 à 15:54
Je suis désolé, je n'ai pas le droit de divulguer les enregistrements, du fait qu'il s'agit d'une agence d'analyse médicale, je suis tenu au secret médical. Cependant, je vais essayer d'être plus clair.
En gros, mon rapport (je bosse sous Report builder), se compose ainsi :
Nom, Prénom, ...... Date 1, Date 2, Date 3.

Prenons trois cas, correspondant a 3 lignes de ce rapport :
Ligne 1 : Date 1 et date 2 sont renseignées, pas date 3, date 1 plus récente
Ligne 2 : Date 2 et date 3 sont renseignées, pas date 1, date 2 plus récente
Ligne 3 : Date 1 et date 3 sont renseignées, pas date 2, date 3 plus récente

Mon objectif serais de virer les trois colonnes dates pour n'en faire qu'une seule comportant :
Ligne 1 : date 1, car c'est la plus récente
Ligne 2 : date 2, idem que au dessus
Ligne 3 : date 3, idem

Pour cela il faut que je compare ces dates, avec a chaque fois, seulement deux sur trois a comparer.

Pour cela j'avais pensé a une fonction utilisant "lIF" dans la colonne "Date la plus récente récente".

De fait, cela marche très bien pour deux dates, cependant, je suis dans l'incapacité d'en rajouter au autre afin de renseigner les deux autres cas.

J'espère avoir été assez clair, et merci d'avance ^^.

PS : je précise que les trois dates sont des dates déjà enregistrée dans la base de donnée, non pas des dates connues et rentrées manuellement.
0
TOUFIKINFO34 Messages postés 8 Date d'inscription mardi 16 juillet 2013 Statut Membre Dernière intervention 16 juillet 2013
16 juil. 2013 à 09:13
if date1>date2 then
if date2>date3 then
date2 :=null,date3:=null (date1 est récente)
else
if date1<date3 then
date1:=null,date2:=null (date3 est récente)
else
date2:=null,date3:=null (date1 est récente)
else
if date2>date3 then
date1:=null,date3:=null (date2 est récente)
else
date2:=null,date1:=null (date3 est récente)
0