Database
 sql >> Base de données >  >> RDS >> Database

Comment multiplier deux colonnes en SQL

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.