REQUETE SQL AVEC DELPHI ET ADO division d'une somme d'un count

sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014 - 30 mai 2011 à 13:13
bsoussema Messages postés 1 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2012 - 25 mars 2012 à 21:48
Bonjour à tous,
j'espère trouver de l'aide ici parce-que je traine sur ce probéleme depuis presque une semaine.ma requete fait une somme d'un count et dévise cette somme la sur un nombre entier la voilà
.
.
.
begin
with ADOQuery1 do begin
Active := False;
SQL.clear;
SQL.Add('SELECT SUM ((NB1)/258151) as som'
+ ' FROM (Select count (champ1) as NB1'
+ ' From BNTrain where champ1 between 0 and 10000 )BNtrain');
ExecSQL;
Active:=true;
end;
voila j'ai essayé avec cast et convert aussi ça na pas marché
NB:(ma BDD est sur sql server)
Cordialement.

11 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
30 mai 2011 à 14:57
Bonjour,

Quel est l'origine de 258151 ?


cantador
0
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
30 mai 2011 à 15:11
re bonjour,
merci d'avoir répondu
j'ai oublié de mentionner que le résultat s'affiche en nombre entier alors qu'il est sensé être en réel ou en Float.
c'est le total d'un count sur le champ1 je l'ai eu avec cette requête
sql.add('SELECT Count (champ1) as total From BNTrain' );
en fait j'ai importé la même bdd sous acces (hélas je peux pas travailler avec)
et j'ai mis la même requête ça ma retourné le bon résultat.
0
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
31 mai 2011 à 20:02
0
bader113 Messages postés 4 Date d'inscription jeudi 23 mars 2006 Statut Membre Dernière intervention 1 juin 2011
1 juin 2011 à 14:58
 Salut !javascript:void(0);javascript:void(0);javascript:void(0)javascript:void(0);;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bader113 Messages postés 4 Date d'inscription jeudi 23 mars 2006 Statut Membre Dernière intervention 1 juin 2011
1 juin 2011 à 14:59
 Salut !
0
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
1 juin 2011 à 23:12
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
4 juin 2011 à 21:41
DE retour ici aprés de longues recherche
Cantador je c pas si vous allez encore revenir sur ce sujet mais j’espère que ça sera la cas en fait j'ai changé de requete de façon quelle me calcule le résultat de tout mes champs avec en utilisant cette requete
!
!
!

begin

for i:=1 to N do
Begin
with ADOQuery1 do begin
ACTIVE:=False;
SQL.Clear;
SQL.ADD('SELECT DISTINCT (champ'+inttostr(i)+'),(cast(COUNT (champ'+inttostr(i)+') as REAL)/(SELECT COUNT (Champ'+inttostr(i)+')From BNTrain))AS Calcul'
+' FROM BNTrain Group by (champ'+inttostr(i)+')'
+' ORDER by (champ'+inttostr(i)+') ASC');
ExecSQL;
Active :=TRUE;
end;
!
!
!
!
et la je veux récupéré les résultats sous un tableau qui contient deux champ (un pour le champs lui même et l'autre pour le count) et cela pr chaque champ (ça va me donner en tout 42 tableau)
si vous avez une idée je suis prenante
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 juin 2011 à 11:21
ça va pas ton truc..
tu crées une boucle avec un paramètre N
que l'on ne retrouve dans le contenu de celle-ci..

Je commencerai par décomposer la requête en deux morceaux et faire en sorte que ça marche.

ensuite, je fusionnerai si possible les deux.

cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
7 juin 2011 à 09:51
n'oublie pas aussi qu'à tout moment tu peux obtenir le nombre des éléments d'une table par :

MaTable.RecordCount
ou
MonQuery.RecordCount

cantador
0
sarita1987 Messages postés 23 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 29 septembre 2014
8 juin 2011 à 00:57
c'est réglé merci bcp en fait pour le N il est a égal 42 chez moi j'ai écrit N juste pour la boucle que j'ai mis ici c'est tout
mais l’exécution est trop lente vu la densité de la BDD
je vous remercie encore pour votre modestie cantador
0
bsoussema Messages postés 1 Date d'inscription dimanche 22 février 2009 Statut Membre Dernière intervention 25 mars 2012
25 mars 2012 à 21:48
Bonjour

je veux savoir comment faire une recherche d'un string dans une dbgrid, et afficher que cette ligne(s). j'utilise ado.
merci pour votre aide.
0
Rejoignez-nous