Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1985 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  GROUP BY

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

GROUP BY

n°1354075
jenny50
Posté le 26-04-2006 à 10:00:59  profilanswer
 

Bonjour à tous,  
 
Je souhaite avoir à l'écran quelque chose de ce type :  
FILIALE = 23 (23 = 12 + 11) 12 correspond à valvn de concession 1 et 11 à valvn de concession 2 (concession1 et concession2 forment la FILIALE)
 
Ma requete est la suivante :  

Code :
  1. SELECT fil_lib, sum(comd_valvn) FROM commandes INNER JOIN concessions ON conc_cle=comd_concession INNER JOIN filiales ON fil_cle=conc_filiale GROUP BY fil_lib


 
Le problème cette erreur :  
ERROR:  function sum(character varying) does not exist
HINT:  No function matches the given name and argument types. You may need to add explicit type casts.
 
Pouvez-vous m'aider??? Je ne vois pas où est mon erreur


Message édité par jenny50 le 26-04-2006 à 10:23:49
mood
Publicité
Posté le 26-04-2006 à 10:00:59  profilanswer
 

n°1354098
skeye
Posté le 26-04-2006 à 10:21:19  profilanswer
 

c'est pas du php, ça, c'est du SQL.
Par contre ton erreur ne fait pas penser à du SQL, donc je m'interroge sur ta manière de faire ça...on peut voir le code qu'il y a autour?


---------------
Can't buy what I want because it's free -
n°1354105
jenny50
Posté le 26-04-2006 à 10:27:24  profilanswer
 

ben pour le moment, je n'ai pas de code autour... c'est juste une requete dans PGADMIN (équivalent de myadmin).
 
Je souhaite faire cette requete pour avoir une ligne sous total par filiale. Ma requete pour le moment c'est ça :  

Code :
  1. SELECT conc_lib, objcomd_valeur, comd_valvn, comd_vallogan, comd_valpart, comd_valmarch, fil_cle, fil_lib, marq_lib FROM commandes INNER JOIN concessions ON conc_cle = comd_concession INNER JOIN objectifscomd ON objcomd_concession = comd_concession INNER JOIN filiales ON conc_filiale = fil_cle INNER JOIN marques ON fil_marque = marq_cle ORDER BY fil_cle, conc_lib ASC


Donc ça m'affiche à la suite toutes les lignes par concessions.
 
Vous comprenez?

n°1354111
skeye
Posté le 26-04-2006 à 10:29:54  profilanswer
 

comd_valvn est un champ de quel type?


---------------
Can't buy what I want because it's free -
n°1354117
jenny50
Posté le 26-04-2006 à 10:34:21  profilanswer
 

varchar

n°1354122
olivthill
Posté le 26-04-2006 à 10:41:36  profilanswer
 

On ne peut pas faire une addition sur du varchar.
Si c'est de l'Oracle, il faut faire écrire SUM(TO_NUMBER(comd_valvn))


Message édité par olivthill le 26-04-2006 à 10:43:07
n°1354123
skeye
Posté le 26-04-2006 à 10:41:53  profilanswer
 

...et t'as pas l'impression qu'une somme de varchar ça veut rien dire?


---------------
Can't buy what I want because it's free -
n°1354126
jenny50
Posté le 26-04-2006 à 10:46:03  profilanswer
 

effectivement je n'avais pas fait attention à ça... désolé de vous avoir embeté enfin cela prouve que vous savez aider les gens.
 
C'est du PostGré... il y a une solution ou je suis obligé de changer mon type?

n°1354136
skeye
Posté le 26-04-2006 à 10:50:43  profilanswer
 

jenny50 a écrit :

effectivement je n'avais pas fait attention à ça... désolé de vous avoir embeté enfin cela prouve que vous savez aider les gens.
 
C'est du PostGré... il y a une solution ou je suis obligé de changer mon type?


Citation :

HINT:  No function matches the given name and argument types. You may need to add explicit type casts.


---------------
Can't buy what I want because it's free -
n°1354186
cinocks
Posté le 26-04-2006 à 11:26:55  profilanswer
 

pourquoi un varchar si le champ ne contient que du numerique? :??:


---------------
MZP est de retour
mood
Publicité
Posté le 26-04-2006 à 11:26:55  profilanswer
 

n°1354188
jenny50
Posté le 26-04-2006 à 11:28:35  profilanswer
 

J'ai donc changer mon type pour le champs comd_valvn
 
Maintenant j'ai un autre problème... Comment j'affiche mes résultats dans mon tableau.

Code :
  1. echo $result->comd_valvn;
  2. echo $result->sum(comd_valvn);


 
Ces 2 écritures ne fonctionnent pas... Alors je ne vois pas quoi mettre. Avez-vous une idée??

n°1354196
skeye
Posté le 26-04-2006 à 11:35:15  profilanswer
 

print_r($result), et regarde ce qu'il t'affiche.


---------------
Can't buy what I want because it's free -
n°1354208
cinocks
Posté le 26-04-2006 à 11:46:53  profilanswer
 

Ou mets explicitement dans ta requete:
 
SELECT fil_lib, sum(comd_valvn) AS sum_comd_valvn FROM ...
 
Ton aggregat sera alias sous sum_comd_valvn


---------------
MZP est de retour
n°1354282
jenny50
Posté le 26-04-2006 à 13:13:31  profilanswer
 

Comment je fais avec plusieurs : car si je fais ça il me dis que comd_vallogan n'existe pas. Quand il y a que valvn c'est bon mais si je mest les autres ça ne va plus
 

Code :
  1. SELECT fil_lib, sum(comd_valvn), sum(comd_vallogan), sum(comd_valpart), sum(comd_valmarch) AS sum_comd_valvn, sum_comd_vallogan, sum_comd_valpart, sum_comd_valmarch FROM commandes INNER JOIN concessions ON conc_cle=comd_concession INNER JOIN filiales ON fil_cle=conc_filiale WHERE fil_cle=$fil GROUP BY fil_lib

n°1354326
cinocks
Posté le 26-04-2006 à 14:05:31  profilanswer
 

Mais il t'arrive de faire des recherches???????? C'est du grand n'importe quoi là.
 

Code :
  1. SELECT fil_lib, sum(comd_valvn) AS sum_comd_valvn,
  2. sum(comd_vallogan) AS sum_comd_vallogan, sum(comd_valpart) AS sum_comd_valpart,
  3. sum(comd_valmarch) AS sum_comd_valmarch
  4. FROM commandes INNER JOIN concessions ON conc_cle=comd_concession
  5. INNER JOIN filiales ON fil_cle=conc_filiale
  6. WHERE fil_cle=$fil
  7. GROUP BY fil_lib


Message édité par cinocks le 26-04-2006 à 14:05:50

---------------
MZP est de retour
n°1354334
jenny50
Posté le 26-04-2006 à 14:12:21  profilanswer
 

OK merci , pour les recherches je te l'accorde mais je n'ai pas vraiment de site référence...
Si tu en as c'est cool...
 
Moi j'ai le manuel php et c'est tout.
Je n'ai pas de site avec des exemple de rédaction concrète comme ça

n°1354341
Djebel1
Nul professionnel
Posté le 26-04-2006 à 14:17:15  profilanswer
 

et le site officiel, et les 500000 tutoriels sur le net, ils sont pour les chiens ?
Ne cherche pas un exemple précis de ce que tu veux faire ; Apprend à faire plutôt


Message édité par Djebel1 le 26-04-2006 à 14:17:42
n°1354352
jenny50
Posté le 26-04-2006 à 14:26:03  profilanswer
 

ok je te remerci de ton tact

n°1354365
Djebel1
Nul professionnel
Posté le 26-04-2006 à 14:42:33  profilanswer
 

np je suis là pour ça ;)

n°1354391
cinocks
Posté le 26-04-2006 à 15:14:59  profilanswer
 

jenny50 a écrit :

OK merci , pour les recherches je te l'accorde mais je n'ai pas vraiment de site référence...
Si tu en as c'est cool...
 
Moi j'ai le manuel php et c'est tout.
Je n'ai pas de site avec des exemple de rédaction concrète comme ça


 
Tu te fous de moi. www.mysql.com peut-etre. Il faut lire un peu, faire le minimum d'effort.


---------------
MZP est de retour

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  GROUP BY

 

Sujets relatifs
GROUP BY ou DISTINCT sur une requête complexerequête group by & order by
afficher ligne group by meme si pas de valeurs[SQL] Transformer une jointure en liste (GROUP BY ?)
[SQL] Comment faire un UPDATE avec jointures, Somme et GROUP BY ?MFC: Radio Button et Group Box
Group by[SQL] Group by
[Oracle] Concat et Group byFaire un group by sur un case ou un if
Plus de sujets relatifs à : GROUP BY


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)