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.