sql >> Databáze >  >> RDS >> Database

Jak vynásobit dva sloupce v SQL

Problém:

chcete vynásobit hodnoty ze dvou sloupců tabulky.

Příklad:

Naše databáze obsahuje tabulku s názvem purchase s údaji v následujících sloupcích:id , name , price , quantity a discount_id .

id jméno cena množství id_slevy
1 pero 7 3 1
2 notebook 5 8 2
3 guma 11 3 1
4 penál 24 2 3

Vynásobme cenu množstvím produktů, abychom zjistili, kolik jste zaplatili za jednotlivé položky v objednávce.

Řešení:

SELECT name,
 price*quantity  AS total_price
FROM purchase;

Tento dotaz vrací záznamy s názvem produktu a jeho celkovou cenou:

name celková_cena
pero 21
notebook 40
guma 33
penál 48

Diskuse:

Potřebujete vybrat název každého záznamu (v našem případě name ) a vypočítejte pro něj výsledek vynásobení jednoho číselného sloupce druhým (price a quantity )? Vše, co musíte udělat, je použít operátor násobení (*) mezi dvěma sloupci multiplikátu (price * quantity ) v jednoduchém SELECT dotaz. Tomuto výsledku můžete přiřadit alias pomocí AS klíčové slovo; v našem příkladu jsme dali sloupci násobení alias total_price .

Všimněte si, že můžete také použít data ze dvou sloupců pocházejících z různých tabulek. V naší databázi máme další tabulku s názvem discount který má sloupce s názvem id a value; druhý představuje procentuální slevu na položku s daným ID.

id hodnota
1 10
2 20
3 30

Podívejte se na příklad níže.

Řešení:

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;

Zde je výsledek:

name celková_cena
pero 18,90
notebook 32,00
guma 29,70
penál 33,60

Jak vidíte, je docela snadné násobit hodnoty z různých spojených tabulek. V našem příkladu výše jsme cenu každého produktu vynásobili jeho množstvím z jedné tabulky (purchase ) a poté tuto celkovou cenu vynásobte procentuální slevou pomocí discount tabulka.


  1. Vyrovnávání zatížení databáze:Distribuované vs centralizované nastavení

  2. Připojení k SQL Server 2012 pomocí sqlalchemy a pyodbc

  3. Jak používat klauzuli hromadného sběru PL/SQL s příkazem FETCH INTO

  4. Jak získat row_number v MySQL