Bonjour
J'essaie de faire une évolution par mois entre deux tables de ma base de données.
Dans ma base de données, j'ai deux table : Table_A et Table_B.
Les deux tables ont mêmes noms et nombre de colonnes.
Ma table est composée de plusieurs colonnes, mais les colonnes qui m'interessent sont : N° de produit, etat_produits, Montant
Table_A Janvier
-------------------------------------------------
|N° de produit | etat_produits | Montant|blabla
-------------------------------------------------
| 001 | Active | 10 |xxxxx
--------------------------------------------------
--------------------------------------------------
| 002 | Consommée | 10 |xxxxx
-------------------------------------------------
-------------------------------------------------
| 003 | Active | 10 |xxxx
-------------------------------------------------
-------------------------------------------------
| 004 | Consommée | 10 |xxxxx
-------------------------------------------------
-------------------------------------------------
| 005 | Active | 10 |xxxxx
-------------------------------------------------
-------------------------------------------------
| 006 | Active | 10 |xxxxx
------------------------------------------------
Table_B Fevrier
-------------------------------------------------
|N° de produit | etat_produits | Montant|......
-------------------------------------------------
| 001 | Active | 10 |xxxxx
--------------------------------------------------
--------------------------------------------------
| 002 | Consommée | 10 |xxxx
-------------------------------------------------
-------------------------------------------------
| 003 | Active | 10 |xxx
-------------------------------------------------
Requête SQL :
Requête Table_A
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part select count(etat_produit) from Table_A where etat_produit like Active;
Requête Table_B---------------
|etat_produits|
---------------
| 4 |
---------------
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part select count(etat_produit) from Table_B where etat_produit like Active;
---------------
|etat_produits|
---------------
| 2 |
---------------
Évolution etat_produit : (( Table_B / Table_A ) - 1 ) * 100 = (( 2/4 ) -1 ) * 100 = -50 %
Donc j'ai activé moitié moins de produits que le mois précédent. Donc une perte de 50%.
MA QUESTION :
Comment avoir ce résultat en une seule requête de deux tables différentes?
Un truc de ce genre :
J'ai essayé toutes sortes de requêtes : inner join , jointure , union , ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select ( count(a2.etat_produit) / count(a1.etat_produit) - 1 ) * 100 from Table_A a1, Table_B a2 where etat_produit like Active
mais en vain
Merci d'avance
Partager