Calcul / Variable!

Calcul / Variable! - SQL/NoSQL - Programmation

Marsh Posté le 04-05-2005 à 18:16:44    

Bonjour tout le monde,
 
J'ai un petit problème dans ma requete!!
 
Je fais un calcul qui me permet de calculer un CA_HT et derriere, je veux réutiliser ce CA_HT pour re-calculer un taux de marge!
Mais Oracle arrive pas a me retrouver mon CA_HT!!
Je comprends pas trop!
 
Voici la requete!
 

Code :
  1. select F_STAT_VENTE_M.CA_TTC,
  2.    F_STAT_VENTE_M.ID_ART,
  3.    decode(ARTICLES.CODE_TVA,2,round(F_STAT_VENTE_M.CA_TTC/1.055,2),
  4.              4,round(F_STAT_VENTE_M.CA_TTC/1.196,2))as CA_HT,
  5.  F_STAT_VENTE_M.MARGE_BRUT as "Marge Brute",
  6.  (F_STAT_VENTE_M.MARGE_BRUT/CA_HT)
  7. from  F_STAT_VENTE_M,ARTICLES
  8. where F_STAT_VENTE_M.ID_ART=ARTICLES.ID_ART


 
Merci d'avance!

Reply

Marsh Posté le 04-05-2005 à 18:16:44   

Reply

Marsh Posté le 04-05-2005 à 18:58:39    

Oracle ne permet pas à ma connaissance d'utiliser des alias pour faire un calcul, le plus simple est donc de copier / coller la formule de CA_HT pour calculer le taux de marge.

Reply

Marsh Posté le 05-05-2005 à 09:30:16    

Code :
  1. SELECT F_STAT_VENTE_M.CA_TTC, F_STAT_VENTE_M.ID_ART, CA_HT, Marge Brute, CA_HT/Marge Brute
  2. FROM ( select F_STAT_VENTE_M.CA_TTC, F_STAT_VENTE_M.ID_ART, 
  3.               decode(ARTICLES.CODE_TVA,2,round(F_STAT_VENTE_M.CA_TTC/1.055,2), 
  4.                                      4,round(F_STAT_VENTE_M.CA_TTC/1.196,2))as CA_HT,
  5.               F_STAT_VENTE_M.MARGE_BRUT as "Marge Brute",
  6.                
  7.       from  F_STAT_VENTE_M,ARTICLES
  8.       where F_STAT_VENTE_M.ID_ART=ARTICLES.ID_ART ) ;


 
ici tu calculs tout les alias dans une sous question que tu met dans le from. Comme c'est la premiere chose que Oracle va exécuter, tu va pouvoir avoir accès aux alias de la sous question, ce qui te permet de faire directement ce que j'ai fais dans la premiere clause select

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed