bonjour, ma question est simple mais je n'ai pas réussi a trouver de réponse pour le moment .
voici ma requete :
j'aimerais ajouter un order by pour trier le resultat par date mais comme vous le voyez ma date est sur 3 champs distincts, y'aurait il moyen de 'creer une date' à partir de mes trois champs ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT ag.matricule_agent, ag.nom_agent, ag.pnom_agent, ts.texte_site, td.annee_date, td.mois_date, td.jour_date, rp.heure_planifier, isnull(rp.agpresent_planifier,0) as Present, isnull(c.texte_conclusion, 'test')as conclusion FROM tagent ag Left join tvisite v on ag.matricule_agent=v.matricule_agent left join rplanifiervisite rp on rp.id_visite=v.id_visite left join tdates td on rp.id_date=td.id_date left join tsite ts on v.id_site = ts.id_site left join tconclusion c on c.id_conclusion=v.id_conclusion
et si possible trier avec l'heure 'rp.heure_planifier' qui est au format varchar sous la forme '08:00' pour 8h
apres avoir recherché en profondeur j'ai trouvé l'expression qu'il me fallait : CAST(),
ca donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part order by cast(cast(td.jour_date as varchar)+'/'+cast(td.mois_date as varchar)+'/'+cast(td.annee_date as varchar)+' '+rp.heure_planifier as datetime) DESC
Partager