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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  somme et conversion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

somme et conversion

n°1147917
nachi2
Posté le 12-07-2005 à 14:39:38  profilanswer
 

Je dispose d'une requete :
 

Code :
  1. select c_dev_cr,sum(n_ca_dr)
  2. from
  3. (SELECT RPAD(REC_FACTURE.C_DEV_DR,5) C_DEV_DR,
  4. SUM(TO_CHAR(REC_FACTURE.N_CA_FACT_DR,'999999999999999D00')) N_CA_DR
  5. FROM REC_FACTURE where c_ent='"&reqEnt&"'
  6. GROUP BY RPAD(REC_FACTURE.C_DEV_DR,5)
  7. UNION
  8. SELECT RPAD(REC_COMMANDE.C_DEV_DR,5) C_DEV_DR,
  9. SUM(TO_CHAR(REC_COMMANDE.N_CA_CDE_DR,'999999999999999D00')) N_CA_DR
  10. FROM REC_COMMANDE where c_ent='"&reqEnt&"'
  11. GROUP BY RPAD(REC_COMMANDE.C_DEV_DR,5)
  12. UNION SELECT
  13. RPAD(REC_EXPEDITION.C_DEV_DR,5) C_DEV_DR,
  14. SUM(TO_CHAR(REC_EXPEDITION.N_CA_EXP_DR,'999999999999999D00')) N_CA_DR
  15. FROM REC_EXPEDITION where c_ent='"&reqEnt&"'
  16. GROUP BY RPAD(REC_EXPEDITION.C_DEV_DR,5))
  17. group by c_dev_dr


 
qui calcule une somme par devise sur plusieurs tables.
 
La requête me donne des valeurs en JPY, USD... Je dispose d'une table ttx_carat qui possède un champ n_ttx_conv_euro pour permettre la conversion des devises en euros. Cette table est mise à jour quotidiennement.  
 
Je voudrais donc en dessous du tableau (j'arrive à ce tableau avec la requête précédente)
 

Code :
  1. CAD  0
  2. EUR  36913426.28
  3. GBP  10779.43
  4. JPY  3916902.05
  5. PLN  182645.16
  6. THB  46316258.68
  7. USD  9476395.91


 
 
afficher le montant total en euro.  
 
je voudrais dans un premier temps récupérer les taux de change, pour les afficher dans une colonne du tableau ci-dessus, par devise. J'ai fait qque chose mais ca ne marche pas, alors je ne sais pas si on a le droit de faire ca...  
 
 

Code :
  1. select a.c_dev_cr, a.sum(n_ca_dr), b.n_ttx_conv_euro
  2. from
  3. (SELECT RPAD(REC_FACTURE.C_DEV_DR,5) C_DEV_DR,
  4. SUM(TO_CHAR(REC_FACTURE.N_CA_FACT_DR,'999999999999999D00')) N_CA_DR
  5. FROM REC_FACTURE where c_ent='"&reqEnt&"'
  6. GROUP BY RPAD(REC_FACTURE.C_DEV_DR,5)
  7. UNION
  8. SELECT RPAD(REC_COMMANDE.C_DEV_DR,5) C_DEV_DR,
  9. SUM(TO_CHAR(REC_COMMANDE.N_CA_CDE_DR,'999999999999999D00')) N_CA_DR
  10. FROM REC_COMMANDE where c_ent='"&reqEnt&"'
  11. GROUP BY RPAD(REC_COMMANDE.C_DEV_DR,5)
  12. UNION SELECT
  13. RPAD(REC_EXPEDITION.C_DEV_DR,5) C_DEV_DR,
  14. SUM(TO_CHAR(REC_EXPEDITION.N_CA_EXP_DR,'999999999999999D00')) N_CA_DR
  15. FROM REC_EXPEDITION where c_ent='"&reqEnt&"'
  16. GROUP BY RPAD(REC_EXPEDITION.C_DEV_DR,5)) a, ttx_carat b
  17. where b.c_dev=a.c_dev_dr and b.d_modif=to_date(sysdate,'DD/MM/YYYY')
  18. group by c_dev_dr


 
 
en executant la requete en asp, ca plante...  
 
sur le serveur a.sum invalid indentifier... j'ai donc degagé le a.  
 
Code:  
 
ERROR at line 1:  
ORA-00979: not a GROUP BY expression  
 
 
 
ce serait gentil si vous pouviez m'aider a resoudre ce probleme...ze seche un peu :fou:
Merci

mood
Publicité
Posté le 12-07-2005 à 14:39:38  profilanswer
 

n°1148035
nachi2
Posté le 12-07-2005 à 15:39:31  profilanswer
 

une tite ame charitable svp???:(

n°1148125
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2005 à 16:18:51  profilanswer
 

il manque un group by global, à moins que le "sum()" de la première ligne ne soit superflu.

n°1148136
nachi2
Posté le 12-07-2005 à 16:24:11  profilanswer
 

salut
deja merci pour ta reponse, je commencais a desesperer!!!
 
par contre c quoi group by global, parce que le sum est tres important!!???
 
edit:
 
je viens d'essayer group by global sur oracle--> ORA-00904: "GLOBAL": invalid identifier


Message édité par nachi2 le 12-07-2005 à 16:30:23
n°1148173
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2005 à 16:44:03  profilanswer
 

ben t'as :
 
select ... from (select  ... union ... )
=> bah tout à la fin de la requête (je te conseille de mettre ton group de UNION à l'intérieur de paranthèses) il faut remettre un group by, puisque tu fais une fonction d'agrégation sur un champ de ton packet d'union

n°1148174
Arjuna
Aircraft Ident.: F-MBSD
Posté le 12-07-2005 à 16:44:41  profilanswer
 

erf, mal lu :D
 
il manque b.n_ttx_conv_euro    dans ton dernier group by

n°1148233
nachi2
Posté le 12-07-2005 à 17:37:23  profilanswer
 

merci!!!!!!!!!!!!!!!!!!!!!!!!!!!


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

  somme et conversion

 

Sujets relatifs
Conversion Site ASP en PHPprobleme de conversion
conversion ASCII hexa en texteconversion
Faire une somme en ASP[XML/DTD/XSL/CSS/HTM] Exemple affichage d'images (tutorial)
[Visual C++] Conversion d'une CString à LPCWSTR?Conversion System::String* en std::string
conversion de caractère en date sous SQL serverFaire la somme de plusieurs cellules VBA
Plus de sujets relatifs à : somme et conversion


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR