Problema:
vuoi moltiplicare i valori da due colonne di una tabella.
Esempio:
Il nostro database ha una tabella denominata purchase con i dati nelle seguenti colonne:id , name , price , quantity e discount_id .
| id | prezzo | quantità | discount_id | |
|---|---|---|---|---|
| 1 | penna | 7 | 3 | 1 |
| 2 | taccuino | 5 | 8 | 2 |
| 3 | gomma | 11 | 3 | 1 |
| 4 | astuccio | 24 | 2 | 3 |
Moltiplichiamo il prezzo per la quantità dei prodotti per scoprire quanto hai pagato per ogni articolo del tuo ordine.
Soluzione:
SELECT name, price*quantity AS total_price FROM purchase;
Questa query restituisce record con il nome del prodotto e il suo prezzo totale:
| nome | prezzo_totale |
|---|---|
| penna | 21 |
| notebook | 40 |
| gomma | 33 |
| astuccio | 48 |
Discussione:
Devi selezionare il nome di ogni record (nel nostro caso, name ) e calcola per essa il risultato della moltiplicazione di una colonna numerica per un'altra (price e quantity )? Tutto quello che devi fare è utilizzare l'operatore di moltiplicazione (*) tra le due colonne moltiplicando (price * quantity ) in un semplice SELECT interrogazione. Puoi dare a questo risultato un alias con AS parola chiave; nel nostro esempio, abbiamo assegnato alla colonna della moltiplicazione un alias di total_price .
Tieni presente che puoi anche utilizzare i dati di due colonne provenienti da tabelle diverse. Abbiamo un'altra tabella nel nostro database chiamata discount che ha colonne denominate id e value; quest'ultimo rappresenta la percentuale di sconto sull'articolo con l'ID specificato.
| id | valore |
|---|---|
| 1 | 10 |
| 2 | 20 |
| 3 | 30 |
Guarda l'esempio qui sotto.
Soluzione:
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;
Ecco il risultato:
| nome | prezzo_totale |
|---|---|
| penna | 18.90 |
| taccuino | 32.00 |
| gomma | 29.70 |
| astuccio | 33.60 |
Come puoi vedere, è abbastanza facile moltiplicare valori da diverse tabelle unite. Nel nostro esempio sopra, abbiamo moltiplicato il prezzo di ogni prodotto per la sua quantità da una tabella (purchase ) e quindi moltiplicato questo prezzo totale per la percentuale di sconto utilizzando lo discount tabella.