Utilisation de select distinct et to_char dans une requete dans

ibn5 - 27 mars 2015 à 11:41
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 - 29 mars 2015 à 11:14
Bonjour,
j'ai besoin de votre aide urgent.j'ai un petit probleme dans une requete dans une base oracle. je travail en windows form c# et j'utlise une database oracle.je voudrais faire une requete pour selectionner les dates et les new users de ma table RECAP ABONNE et les affichés. quand je fais la requete :

"select To_char( Date_RECAP,'DD/MM/YYYY') as DATE_REC, NEW_USERS from RECAP ABONNE where DATE_RECAP between SYSDATE-60 and SYSDATE ORBER BY DATE_RECAP"

le résultat est correct mais il me sort des doublons de date alors j'ai voulu utiliser Distinct et c'est la que mon probleme se trouve si le met comme cela:

"select To_char( DISTINCT Date_RECAP,'DD/MM/YYYY') as DATE_REC, NEW_USERS from RECAP ABONNE where DATE_RECAP between SYSDATE-60 and SYSDATE ORBER BY DATE_RECAP"

J'ai une exception "expression absente"
et comme cela
"select DISTINCT(To_char( Date_RECAP,'DD/MM/YYYY') ) as DATE_REC, NEW_USERS from RECAP ABONNE where DATE_RECAP between SYSDATE-60 and SYSDATE ORBER BY DATE_RECAP"
j'ai une exception "cette expression n'a pas été slectionnée"

ou se trouve l'erreur.Merci bcp pour votre aide.
cordialement

3 réponses

cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
27 mars 2015 à 14:11
bonjour,

je ne connais pas oracle mais tu as essayé sans les parenthèses ?

select DISTINCT To_char( Date_RECAP,'DD/MM/YYYY') ) as DATE_REC, NEW_USERS from RECAP ABONNE where DATE_RECAP between SYSDATE-60 and SYSDATE ORBER BY DATE_RECAP


bonne journée
0
oui cela me sort toujours "erreur"
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
29 mars 2015 à 11:14
Bonjour,

ta requete est

select DISTINCT To_char( Date_RECAP,'DD/MM/YYYY') ) as DATE_REC, NEW_USERS 
from RECAP ABONNE 
where DATE_RECAP between SYSDATE-60 and SYSDATE ORBER BY DATE_RECAP


peux-tu tester en mettant "as DATE_RECAP" a la place de "as DATE_REC" car si tu fais une recherche sur ton message d'erreur cela semble être du a ton order by.

select DISTINCT To_char( Date_RECAP,'DD/MM/YYYY') ) as DATE_RECAP, NEW_USERS 
from RECAP ABONNE 
where DATE_RECAP between SYSDATE-60 and SYSDATE ORBER BY DATE_RECAP


un deuxieme problème survienfra alors avec ton ordre de tri qui va trier ta date comme un string mais tu seras fixé sur la source de ton erreur.

bonne journée
0
Rejoignez-nous