Проблем:
искате да умножите стойности от две колони на таблица.
Пример:
Нашата база данни има таблица с име purchase с данни в следните колони:id , name , price , quantity и discount_id .
| id | име | цена | количество | discount_id |
|---|---|---|---|---|
| 1 | писалка | 7 | 3 | 1 |
| 2 | бележник | 5 | 8 | 2 |
| 3 | гума | 11 | 3 | 1 |
| 4 | моливник | 24 | 2 | 3 |
Нека умножим цената по количеството на продуктите, за да разберем колко сте платили за всеки артикул от поръчката си.
Решение:
SELECT name, price*quantity AS total_price FROM purchase;
Тази заявка връща записи с името на продукта и общата му цена:
| name | обща_цена |
|---|---|
| химикалка | 21 |
| бележник | 40 |
| гума | 33 |
| моливник | 48 |
Дискусия:
Трябва ли да изберете името на всеки запис (в нашия случай name ) и изчислете за него резултата от умножаването на една числова колона по друга (price и quantity )? Всичко, което трябва да направите, е да използвате оператора за умножение (*) между двете колони за умножение (price * quantity ) в прост SELECT запитване. Можете да дадете псевдоним на този резултат с AS ключова дума; в нашия пример дадохме на колоната за умножение псевдоним на total_price .
Имайте предвид, че можете също да използвате данни от две колони, идващи от различни таблици. Имаме друга таблица в нашата база данни с име discount който има колони с име id и value; последното представлява процентната отстъпка за артикула с дадения идентификатор.
| id | стойност |
|---|---|
| 1 | 10 |
| 2 | 20 |
| 3 | 30 |
Вижте примера по-долу.
Решение:
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;
Ето резултата:
| name | обща_цена |
|---|---|
| химикалка | 18,90 |
| бележник | 32,00 |
| гума | 29,70 |
| моливник | 33,60 |
Както можете да видите, е доста лесно да умножите стойности от различни обединени таблици. В нашия пример по-горе умножихме цената на всеки продукт по неговото количество от една таблица (purchase ) и след това умножете тази обща цена по процента отстъпка, като използвате discount таблица.