Bonjour,

Je travaille présentement à la correction d'un code disfonctionnel programmé par un stagiaire qui est passé avant moi et j'ai trouvé dans le code une requête dont le ne suis pas sur de la validité. Peut-être est-ce seulement que je n'en ai jamais fait comme ça mais je vous demande votre opinion sur sa validité:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
SELECT c1.id, c2.id 
FROM carte_temps2 as c1, carte_temps2 as c2
WHERE c1.no_camion>0 
  AND c1.no_camion=c2.no_camion 
  AND (not (c1.id=c2.id)) 
  AND ((concat(if(c2.hrt < c2.hdq, c2.dfq, c2.ddq), " ", c2.hrt) 
        < concat(if(c1.htt<c1.hdq,c1.dfq,c1.ddq), " ", c1.htt)) 
       AND c1.od < c2.oaa );
C'est la partie dans le concat() qui me pose problème. Comme le nom des colonnes est très peu significatif, en voici la description:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
ddq : Date Debut Quart (AAAA-MM-JJ)
dfq : Date Fin Quart (AAAA-MM-JJ)
hdq : Heure Début Quart (HH:MM:SS)
hrt : Heure Retour Terminal (HH:MM:SS)
htt : Heure Départ Terminal (HH:MM:SS)
oaa : Odomètre à l'Arrivée
odc : Odomètre Dernier Client
opc : Odomètre Premier Client
Est-ce correct? Lorsque le j'exécute en console ça ne me retourne aucune erreur de syntaxe mais aucun enregistrement non plus.