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

Come moltiplicare due colonne in SQL

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.