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.