Super addition complexe sur plusieurs tables.

Super addition complexe sur plusieurs tables. - SQL/NoSQL - Programmation

Marsh Posté le 18-01-2007 à 17:38:01    

Bonjour,
J'ai un petit pépin sous access.
J'aimerais avoir une somme totale de toute mes tables.
j'arrive sommé individuellement chaque table comme ceci:
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblBandeDessinee;
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblLivre;  
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblJeux;  
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblFilms;  
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblImages;  
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblFigurines;
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblDivers;  
 
cela me donne la somme en fonction du stock de chaque table.
Maintenant j'aurais aimé faire la somme totale.
Mais là, je me suis cassé les dents.
J'ai essayé de sommé les résultats des "list"s. Mais si on ne sélectionne pas avant, il ne donne pas de résultat.
C'est pour cela que je pense que la requête doit être en SQL pur(compatible access).
Merci à toute âme charitable à qui un problème comme celui-là ne peut faire que rire.
 
BGG


Message édité par BenGonGon le 18-01-2007 à 17:38:55
Reply

Marsh Posté le 18-01-2007 à 17:38:01   

Reply

Marsh Posté le 19-01-2007 à 08:05:47    


Et ça ? (tiré par les cheveux, mais bon sous Access  
on bricole beaucoup ;-)
 
select  
(SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblBandeDessinee ) +
(SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblLivre  ) +
(SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblJeux  ) +
(SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblFilms;  ) +
(SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblImages;  ) +
(SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblFigurines ) +
(SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblDivers ) from ...
 
... from une table temporaire contenant / renvoyant 1 enregistrement  
 

Reply

Marsh Posté le 22-01-2007 à 16:00:32    

ou alors :
select sum(expr1)
from
(
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblBandeDessinee
union
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblLivre  
union
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblJeux  
union
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblFilms
union
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblImages  
union
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblFigurines
union
SELECT SUM([PrixVente]*[EnStock]) AS Expr1 FROM tblDivers
) tmp

Reply

Marsh Posté le 22-01-2007 à 16:02:02    

C'est mieux effectivement ...

Reply

Marsh Posté le 22-01-2007 à 16:03:01    

c'est surtout plus pratique ;)
 
ceci dit, je crois que Access n'a pas besoin de from dans un select (comme SQL Server) donc ta requête sans FROM à la fin devrait marcher :))


Message édité par MagicBuzz le 22-01-2007 à 16:03:10
Reply

Sujets relatifs:

Leave a Replay

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