salut les gens,
je travaille sur un projet c# ou j'exploite le résultat de plusieurs DataReader issues de requêtes de type SELECT.
Voila celle qui me pose un problème :
string requete = select id, num, ref, date from client, entete where ref=CLI_CODCLI and TYPMVT='FA' and datediff(Month, date, getdate())<36 and not exists ( select id from factures where piece=ANUMPIEC) order by date desc
AVANT de dérouler de le DataReader, j'ai besoin de connaitre le nombre de lignes qu'il contient, donc j'effectue systématiquement :
select count(*) from ( requète ) as tmp
le count(*) me génère une erreur sur la requète écrite plus haut:
"La clause ORDER BY n'est pas valide dans les vues, les fonctions Inline, les tables dérivées et les sous-requêtes, sauf si TOP est également spécifié."
je ne sais pas comment résoudre ce problème, sachant que mon principe de fonctionnement:
1- j'écris la requète
2- je fait un count(*) avec la requète dans le from
3- je crée un DataReader avec la requète initale
doit impérativement resté inchangé.
en vous remerciant par avance.
Partager