Database
 sql >> Datenbank >  >> RDS >> Database

So multiplizieren Sie zwei Spalten in SQL

Problem:

Werte aus zwei Spalten einer Tabelle multiplizieren möchten.

Beispiel:

Unsere Datenbank hat eine Tabelle namens purchase mit Daten in den folgenden Spalten:id , name , price , quantity und discount_id .

id Name Preis Menge rabatt_id
1 Stift 7 3 1
2 Notizbuch 5 8 2
3 Gummi 11 3 1
4 Federmäppchen 24 2 3

Lassen Sie uns den Preis mit der Menge der Produkte multiplizieren, um herauszufinden, wie viel Sie für jeden Artikel in Ihrer Bestellung bezahlt haben.

Lösung:

SELECT name,
 price*quantity  AS total_price
FROM purchase;

Diese Abfrage gibt Datensätze mit dem Namen des Produkts und seinem Gesamtpreis zurück:

name Gesamtpreis
Stift 21
Notizbuch 40
Gummi 33
Federmäppchen 48

Diskussion:

Müssen Sie den Namen jedes Datensatzes auswählen (in unserem Fall name ) und berechne dafür das Ergebnis der Multiplikation einer numerischen Spalte mit einer anderen (price). und quantity )? Sie müssen lediglich den Multiplikationsoperator (*) zwischen den beiden Multiplikanden-Spalten verwenden (price * quantity ) in einem einfachen SELECT Anfrage. Mit dem AS können Sie diesem Ergebnis einen Alias ​​geben Stichwort; In unserem Beispiel haben wir der Multiplikationsspalte den Alias ​​total_price gegeben .

Beachten Sie, dass Sie auch Daten aus zwei Spalten verwenden können, die aus verschiedenen Tabellen stammen. Wir haben eine weitere Tabelle in unserer Datenbank namens discount die Spalten mit dem Namen id hat und value; Letzteres stellt den prozentualen Rabatt auf den Artikel mit der angegebenen ID dar.

id Wert
1 10
2 20
3 30

Sehen Sie sich das Beispiel unten an.

Lösung:

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;

Hier ist das Ergebnis:

name Gesamtpreis
Stift 18,90
Notizbuch 32,00
Gummi 29,70
Federmäppchen 33,60

Wie Sie sehen können, ist es ziemlich einfach, Werte aus verschiedenen verknüpften Tabellen zu multiplizieren. In unserem obigen Beispiel haben wir den Preis jedes Produkts mit seiner Menge aus einer Tabelle multipliziert (purchase ) und multipliziert diesen Gesamtpreis dann mit dem prozentualen Rabatt unter Verwendung des discount Tabelle.