Bonjour à tous,
J'aurais besoin d'une petite aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 CREATE TABLE `emballage` ( `id_emb` int(11) NOT NULL auto_increment, `nom_emb` varchar(50) NOT NULL, `id_four` int(11) NOT NULL, `cond_emb` int(11) default NULL, `id_conditionnement` int(30) default NULL, `pu_emb` decimal(10,5) NOT NULL COMMENT 'prix unitaire emballage', `tva_emb` decimal(3,2) default NULL, `id_conditionnement_pu` int(30) NOT NULL, `coef_emb_pdr` decimal(10,5) default NULL, `pu_emb_pdr` decimal(10,5) default NULL, `composup25_emb` varchar(30) default NULL, `date_m_emb` date default NULL, `id_emballage_type` int(11) NOT NULL, `actif_emb` tinyint(1) NOT NULL default '1', PRIMARY KEY (`id_emb`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=75 ; -- -- Contenu de la table `emballage` -- INSERT INTO `emballage` (`id_emb`, `nom_emb`, `id_four`, `cond_emb`, `id_conditionnement`, `pu_emb`, `tva_emb`, `id_conditionnement_pu`, `coef_emb_pdr`, `pu_emb_pdr`, `composup25_emb`, `date_m_emb`, `id_emballage_type`, `actif_emb`) VALUES (1, 'Sacs P.E 450X150X700 /1500 Bleu ', 33, 1000, 3, 0.04318, 9.99, 3, 1.00000, 0.04318, '', '0000-00-00', 1, 1), (2, 'Sacs P.E 450X150X700 /1500 Blanc', 33, 1000, 3, 0.02557, 9.99, 3, 1.00000, 0.02557, '', '2008-07-03', 1, 0), (3, 'Rouleaux Scotch Pp 50Mm X 660M pr', 31, 6, 3, 5.15000, 9.99, 3, 0.00152, 0.00780, '', '0000-00-00', 1, 1), (4, 'Film Etirable Manuel 15µ 300M pr', 31, 6, 3, 4.13000, 9.99, 3, 0.00332, 0.01370, '', '0000-00-00', 1, 1), (5, 'Cerclage 12Mm*0,63', 31, 1, 3, 24.84000, 9.99, 3, 0.00026, 0.00655, '', '0000-00-00', 1, 1), (6, 'M. Alu Diam / To 231 (Chinois', 28, 600, 3, 0.12900, 9.99, 3, 0.00000, 0.00000, '', '2008-07-03', 1, 0), (7, 'Moule À Cake Plié 203 X 93 X 5', 40, 1000, 3, 0.09460, 9.99, 3, 0.00000, 0.00000, '', '2008-07-03', 1, 0), (8, 'Moule À Cake 640/42G', 30, 1000, 3, 0.04280, 9.99, 3, 0.00000, 0.00000, '', '2008-07-03', 1, 0), (9, 'Moule À Cake Plié 170 X 60 X 4', 30, 1000, 3, 0.03990, 9.99, 3, 0.00000, 0.00000, '', '2008-07-03', 1, 0), (10, 'Moule Alu 232 X 108 H60 M1100', 40, 700, 3, 0.09460, 9.99, 3, 1.00000, 0.09460, '', '2008-04-30', 1, 1), (11, 'Tourtière Basse Carton Tp277H2', 40, 600, 3, 0.12935, 9.99, 3, 1.00000, 0.12935, '', '2008-07-03', 1, 0), (12, 'Tourtière Basse Carton Tp247H2', 40, 540, 3, 0.11505, 9.99, 3, 1.00000, 0.11505, '', '2008-07-03', 1, 0), (13, 'Moule Carton 170 X 80H50', 40, 325, 3, 0.14849, 9.99, 3, 0.00000, 0.00000, '', '2008-07-03', 1, 0), (14, 'Bobine De Plastique Bleu Pour ', 33, 12, 1, 2.89000, 9.99, 1, 0.00000, 0.00000, '', '0000-00-00', 1, 1), (15, 'Bobine De Papier Sulfurisé Pou', 34, 12, 1, 3.80000, 9.99, 1, 0.00000, 0.00000, '', '2008-07-03', 1, 0), (16, 'Etiquettes Auto.Gm Rose', 32, 12000, 3, 0.00958, 9.99, 3, 1.00000, 0.00958, '', '0000-00-00', 1, 1), (17, 'Etiquettes Auto.Gm Vertes', 32, 12000, 3, 0.00958, 9.99, 3, 1.00000, 0.00958, '', '0000-00-00', 1, 1), (18, 'Etiquettes Auto.Gm Blanche', 32, 12000, 3, 0.00894, 9.99, 3, 1.00000, 0.00894, '', '0000-00-00', 1, 1), (19, 'Etiquettes Toupargel Croissant', 32, 1500, 3, 0.02996, 9.99, 3, 0.00000, 0.00000, '', '0000-00-00', 1, 1), (20, 'Etiquettes Toupargel Pain Choc', 32, 1500, 3, 0.02996, 9.99, 3, 0.00000, 0.00000, '', '0000-00-00', 1, 1), (21, 'Etiquettes Argel Croissant', 32, 1500, 3, 0.04494, 9.99, 3, 1.00000, 0.04494, '', '0000-00-00', 1, 1), (22, 'Etiquettes Argel Pain Choco', 32, 1500, 3, 0.04494, 9.99, 3, 1.00000, 0.04494, '', '0000-00-00', 1, 1),
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 CREATE TABLE `inventaire_emb` ( `id_inventaire_emb` int(11) NOT NULL auto_increment, `date_inventaire_emb` date NOT NULL, `qte_inventaire_emb` decimal(10,5) NOT NULL, `id_emb` int(11) NOT NULL, `mois_inventaire_emb` int(11) NOT NULL, `annee_inventaire_emb` int(11) NOT NULL, `pu_j_inventaire_emb` decimal(10,5) NOT NULL, PRIMARY KEY (`id_inventaire_emb`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=187 ; -- -- Contenu de la table `inventaire_emb` -- INSERT INTO `inventaire_emb` (`id_inventaire_emb`, `date_inventaire_emb`, `qte_inventaire_emb`, `id_emb`, `mois_inventaire_emb`, `annee_inventaire_emb`, `pu_j_inventaire_emb`) VALUES (1, '2008-06-17', 4800.00000, 6, 5, 2008, 0.12900), (2, '2008-06-17', 3000.00000, 8, 5, 2008, 0.04280), (3, '2008-06-17', 432.00000, 4, 5, 2008, 4.13000), (4, '2008-06-17', 126.00000, 57, 5, 2008, 0.78000), (5, '2008-06-17', 126.00000, 3, 5, 2008, 5.15000), (6, '2008-06-17', 102.00000, 5, 5, 2008, 24.84000), (7, '2008-06-17', 60000.00000, 16, 5, 2008, 0.00958), (8, '2008-06-17', 96000.00000, 18, 5, 2008, 0.00894), (9, '2008-06-17', 72000.00000, 17, 5, 2008, 0.00958), (10, '2008-06-17', 15900.00000, 21, 5, 2008, 0.04494), (11, '2008-06-17', 30000.00000, 23, 5, 2008, 0.01050), (12, '2008-06-17', 60.00000, 14, 5, 2008, 2.89000), (13, '2008-06-17', 2200.00000, 55, 5, 2008, 0.35512), (14, '2008-06-17', 40000.00000, 50, 5, 2008, 0.04970), (15, '2008-06-17', 32000.00000, 1, 5, 2008, 0.04318), (16, '2008-06-17', 9000.00000, 69, 5, 2008, 0.02520), (17, '2008-06-17', 3500.00000, 71, 5, 2008, 0.03800), (18, '2008-06-17', 6930.00000, 43, 5, 2008, 0.42300), (19, '2008-06-17', 4800.00000, 45, 5, 2008, 0.56500), (20, '2008-06-17', 3840.00000, 72, 5, 2008, 0.49300), (21, '2008-06-17', 2640.00000, 41, 5, 2008, 0.28700), (22, '2008-06-17', 6000.00000, 24, 5, 2008, 5.45000), (23, '2008-06-17', 22500.00000, 26, 5, 2008, 0.01850), (24, '2008-06-17', 22.00000, 25, 5, 2008, 7.45000), (25, '2008-06-17', 5720.00000, 52, 5, 2008, 0.30600), (26, '2008-06-17', 10560.00000, 48, 5, 2008, 0.22900), (27, '2008-06-17', 350.00000, 51, 5, 2008, 1.81000), (28, '2008-06-17', 18000.00000, 33, 5, 2008, 0.02500), (29, '2008-06-17', 2400.00000, 11, 5, 2008, 0.12935), (30, '2008-06-17', 16100.00000, 10, 5, 2008, 0.09460), (31, '2008-06-17', 9180.00000, 12, 5, 2008, 0.11505), (32, '2008-06-17', 26000.00000, 63, 5, 2008, 0.01775), (33, '2008-06-17', 1200.00000, 65, 5, 2008, 0.01875), (34, '2008-06-17', 6600.00000, 67, 5, 2008, 0.02500), (35, '2008-06-17', 6600.00000, 62, 5, 2008, 0.01425), (36, '2008-06-17', 1100.00000, 64, 5, 2008, 0.01435), (37, '2008-06-17', 6400.00000, 66, 5, 2008, 0.02625), (38, '2008-06-17', 13.00000, 38, 5, 2008, 66.00000), (39, '2008-06-17', 48.00000, 37, 5, 2008, 14.67000), (40, '2008-06-18', 0.00000, 28, 5, 2008, 0.23900), (41, '2008-06-18', 0.00000, 30, 5, 2008, 0.13750),
Voici ma requete:
Je voudrait récupérer les informations de mon emballage , mais aussi la quantité de l'inventaire emballage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT emballage.id_emb, nom_emb, nom_four, cond_emb, unite_conditionnement, FORMAT((qte_inventaire_emb),2) as qte_prec FROM emballage RIGHT JOIN inventaire_emb ON emballage.id_emb = inventaire_emb.id_emb INNER JOIN fournisseur ON emballage.id_four = fournisseur.id_four INNER JOIN conditionnement ON conditionnement.id_conditionnement = emballage.id_conditionnement WHERE mois_inventaire_emb ='05' AND annee_inventaire_emb ='2008' ORDER BY nom_four;
Le problème se situe dans le cas ou j'ajoute un emballage:
- Mon emballage est rajouter dans ma base.
- je le rentre pour le mois actuel (06/2008)
- je visualise le contenue de l'inventaire avec la requête ci-dessus. (avec le mois précédent et le mois actuel, la requête ne concerne que le mois précédent).
Problème il ne m'affiche uniquement les emballage qui ont l'inventaire de rempli pour le mois précédent:
Exemple:
La requete ne m'affiche uniquement ceux qui ont l'inventaire de remplie le 05/2008. Quel paramètre je doit rajouter dans ma requete pour affiche ceux qui non pas encore d'inventaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT emballage.id_emb, nom_emb, nom_four, cond_emb, unite_conditionnement, FORMAT((qte_inventaire_emb),2) as qte_prec FROM emballage RIGHT JOIN inventaire_emb ON emballage.id_emb = inventaire_emb.id_emb INNER JOIN fournisseur ON emballage.id_four = fournisseur.id_four INNER JOIN conditionnement ON conditionnement.id_conditionnement = emballage.id_conditionnement WHERE mois_inventaire_emb ='05' AND annee_inventaire_emb ='2008' ORDER BY nom_four;
Faut-il que je rajoute Une jointure en RIGHT OU LEFT JOIN?(J'ai du mal a comprendre le fonctionnement de ces jointures) Ou je doit intervenir dans la clause?
Merci d'avance pour votre aide.
guigui69
Partager