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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| --------------
SET AUTOCOMMIT = 0
--------------
--------------
START TRANSACTION
--------------
--------------
DROP DATABASE IF EXISTS `base`
--------------
--------------
CREATE DATABASE `base`
DEFAULT CHARACTER SET `latin1`
DEFAULT COLLATE `latin1_general_ci`
--------------
--------------
DROP TABLE IF EXISTS `ip_produits`
--------------
--------------
CREATE TABLE `ip_produits`
( `produit` integer unsigned not null auto_increment primary key,
`nom` varchar(255) not null
) ENGINE=InnoDB
DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
ROW_FORMAT=COMPRESSED
--------------
--------------
insert into `ip_produits` (`nom`) values
('Camembert'), ('Boursin'),('Reblochon')
--------------
--------------
select * from ip_produits
--------------
+---------+-----------+
| produit | nom |
+---------+-----------+
| 1 | Camembert |
| 2 | Boursin |
| 3 | Reblochon |
+---------+-----------+
--------------
DROP TABLE IF EXISTS `item_ventes`
--------------
--------------
CREATE TABLE `item_ventes`
( `id` integer unsigned not null auto_increment primary key,
`produit` integer unsigned not null,
`quantite` integer unsigned not null,
CONSTRAINT `FK_VENTES_PRODUITS` FOREIGN KEY (`produit`) REFERENCES `ip_produits` (`produit`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB
DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
ROW_FORMAT=COMPRESSED
--------------
--------------
insert into `item_ventes` (`produit`,`quantite`) values
(1, 12), (2, 15), (1, 7), (1, 3), (1, 24), (2, 1), (1, 32), (2, 52), (1, 41), (3, 17), (3, 25), (2, 11), (1, 32)
--------------
--------------
select * from item_ventes
--------------
+----+---------+----------+
| id | produit | quantite |
+----+---------+----------+
| 1 | 1 | 12 |
| 2 | 2 | 15 |
| 3 | 1 | 7 |
| 4 | 1 | 3 |
| 5 | 1 | 24 |
| 6 | 2 | 1 |
| 7 | 1 | 32 |
| 8 | 2 | 52 |
| 9 | 1 | 41 |
| 10 | 3 | 17 |
| 11 | 3 | 25 |
| 12 | 2 | 11 |
| 13 | 1 | 32 |
+----+---------+----------+
--------------
select p.produit,
p.nom,
sum(v.quantite) as quantite
from ip_produits as p
inner join item_ventes as v
on v.produit = p.produit
group by p.produit, p.nom
--------------
+---------+-----------+----------+
| produit | nom | quantite |
+---------+-----------+----------+
| 1 | Camembert | 151 |
| 2 | Boursin | 79 |
| 3 | Reblochon | 42 |
+---------+-----------+----------+
--------------
COMMIT
--------------
--------------
SET AUTOCOMMIT = 1
--------------
Appuyez sur une touche pour continuer... |
Partager