|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Étudiant Inscription : mars 2011 Messages : 14 ![]() |
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 Code :
SELECT count(etat_produit) FROM Table_A WHERE etat_produit LIKE Active; Citation:
Code :
SELECT count(etat_produit) FROM Table_B WHERE etat_produit LIKE Active; Citation:
É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 : Code :
mais en vain Merci d'avance |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 646 ![]() |
bonjour,
quelquechose comme ceci : Code :
|
||
|
|
00
|
|
|
#3 |
![]() ![]() |
Pourquoi faire une table par mois ?
Un SGBD n'est pas un tableur !
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : mars 2011 Messages : 14 ![]() |
Bonjour CinePhil
Je reçoit des données à la fin de mois donc j'ai crée une base complète où il y a tout les donnes et et une autre base où les données sont par mois pour faire des reports, évolution, etc. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Étudiant Inscription : mars 2011 Messages : 14 ![]() |
Merci punkoff d'avoir répondu.
J'ai utilisé ta requête et ça marche Dans ta requête, j'ai remplacer count(*) par nom de ma colonne count(etat_produit) que je veux compté mais ça ne marche non plus. Alors j'utilise WAMPSERVER version 2.1. Mysql version 5.1.53 Je ne sais pas si ça peut vous aider. Dit moi qu'est ce que je peux faire de plus ? ![]() Merci |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 646 ![]() |
Ca marche mais ca n'affiche pas de résultat ?
J'avoue ne pas saisir la subtilité ici ? |
|
|
00
|
|
|
#7 | ||||
|
Invité de passage
![]() Étudiant Inscription : mars 2011 Messages : 14 ![]() |
Bonjour punkoff
Juste pour la correction de la requête que tu ma proposer, t'avais oublier de mettre "tableB" : Code :
Code :
Ci-joint une impression d'écran. Besoin de votre avis Merci |
||||
|
|
00
|
|
|
#8 | ||||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 646 ![]() |
Je pensais avoir vu dans la doc que la table dual existait sous MySQL.
En fait, j'ia pris "dual" qui devrait être une table avec 1 seule colone et ne disposant que d'une ligne dedans. Ca permet de faire ce genre de chose. http://dev.mysql.com/doc/refman/5.5/en/select.html extrait : Code :
Je suppose que la trequête comme ceci devrait fonctionner : Code sql :
|
||||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Étudiant Inscription : mars 2011 Messages : 14 ![]() |
Merci punkoff
ça marche ta requete, problème résolu. Pour dual j'avais aussi vérifier dans la documentation, et dual est compatible à patir de MYSQL version 4.1 alors que je suis en version 5.1. C'est bizarre !!!! Bon Merci infiniment PunkOff Bonne journée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com