Problème :
souhaitez multiplier les valeurs de deux colonnes d'un tableau.
Exemple :
Notre base de données a une table nommée purchase
avec des données dans les colonnes suivantes :id
, name
, price
, quantity
, et discount_id
.
identifiant | nom | prix | quantité | discount_id |
---|---|---|---|---|
1 | stylo | 7 | 3 | 1 |
2 | carnet | 5 | 8 | 2 |
3 | caoutchouc | 11 | 3 | 1 |
4 | étui à crayons | 24 | 2 | 3 |
Multiplions le prix par la quantité des produits pour savoir combien vous avez payé pour chaque article de votre commande.
Solution :
SELECT name, price*quantity AS total_price FROM purchase;
Cette requête renvoie des enregistrements avec le nom du produit et son prix total :
nom | prix_total |
---|---|
stylo | 21 |
carnet | 40 |
caoutchouc | 33 |
trousse à crayons | 48 |
Discussion :
Avez-vous besoin de sélectionner le nom de chaque enregistrement (dans notre cas, name
) et calculer pour cela le résultat de la multiplication d'une colonne numérique par une autre (price
et quantity
) ? Il suffit d'utiliser l'opérateur de multiplication (*) entre les deux colonnes multiplicande (price
* quantity
) dans un simple SELECT
requête. Vous pouvez donner un alias à ce résultat avec le AS
mot-clé; dans notre exemple, nous avons donné à la colonne de multiplication un alias de total_price
.
Notez que vous pouvez également utiliser les données de deux colonnes provenant de tables différentes. Nous avons une autre table dans notre base de données nommée discount
qui a des colonnes nommées id
et value
; ce dernier représente le pourcentage de remise sur l'article avec l'ID donné.
identifiant | valeur |
---|---|
1 | 10 |
2 | 20 |
3 | 30 |
Regardez l'exemple ci-dessous.
Solution :
SELECT p.name, p.price*p.quantity*(100-d.value)/100 AS total_price FROM purchase p JOIN discount d ON d.id=p.discount_id;
Voici le résultat :
nom | prix_total |
---|---|
stylo | 18,90 |
carnet | 32,00 |
caoutchouc | 29,70 |
trousse à crayons | 33,60 |
Comme vous pouvez le voir, il est assez facile de multiplier les valeurs de différentes tables jointes. Dans notre exemple ci-dessus, nous avons multiplié le prix de chaque produit par sa quantité d'une table (purchase
) puis multiplié ce prix total par le pourcentage de remise en utilisant le discount
tableau.