2014-02-07 4 views
-1

У меня есть база данных с продуктами, и клиенту необходимо ввести процент скидки. Скидка должна быть рассчитана в базе данных, поэтому запрос возвращает все цены - скидкаРасчет процента SQL

Как я могу это сделать?

SELECT product.name sizes.height, sizes.width, product_sizes.price 
FROM product_sizes as s 
JOIN sizes ON s.sizeid = sizes.sizeid, product 
JOIN product_sizes on product.productid = product_sizes.productid 
WHERE product.productid=1 

Благодаря

+0

Это настоящий запрос? Синтаксис выглядит неправильно. – dasblinkenlight

+0

Ye его реальный запрос – KEVIN

+0

У меня все еще не получается вопрос ^^ вы хотите иметь вычисленную цену в своем результате?!?!? – Dwza

ответ

1

первый я бы запрос, как этот

SELECT p.name, s.height, s.width, ps.price 
FROM product_sizes as ps, product as p, sizes as s 
WHERE ps.sizeid = s.sizeid 
AND p.productid = ps.productid 
AND p.productid=1 

, чем просто вычислить его в выбранном попробовать, как его непроверенных и я не очень знаю, если это работает, но оно должно ...

SELECT p.name, s.height, s.width, (((ps.price/100)*x)+ps.price) as newPrice 
FROM product_sizes as ps, product as p, sizes as s 
WHERE ps.sizeid = s.sizeid 
AND p.productid = ps.productid 
AND p.productid=1 

, конечно, вы должны там, где X есть :)

что с этой строкой ??? .... (ваш источник)

SELECT product.name sizes.height, sizes.width, product_sizes.price 
-------------------^ there is a comma missing 
FROM product_sizes as s 
JOIN sizes ON s.sizeid = sizes.sizeid, product 
--------------------------------------------^ what is this ? 
JOIN product_sizes on product.productid = product_sizes.productid 
WHERE product.productid=1 
+0

Да, моя неудачная запятая. Но .. Ваш код работает !! Большое спасибо!!!!! – KEVIN

+0

проблем нет, приветствую :) – Dwza

0

В общем, вы можете применить математические операторы в запросах, такие как умножение и вычитание, предполагая, что данные являются числовыми. От звука вашего вопроса, это не кажется, что вы знаете об этом, так что это слишком упрощенно пример вещей, которые вы можете сделать:

CREATE TABLE Discount(
    Price DECIMAL(10,2) 
) 

INSERT INTO Discount 
VALUES (23.4) 
    , (20.9) 
    , (16.8) 

SELECT Price 
    -- We're multiplying the price column by a discount percent of 10% 
    , (Price * .10) Discount 
    -- We're subtracting that discount amount from the price 
    , Price - (Price * .10) PriceIncludingDiscount 
FROM Discount 

SQL Fiddle demonstration

В вашем случае, ваша колонка product_sizes.price будет умножаться на скидку и вычитаться из цены, если вы хотите включить скидку или просто умножить на процент скидки, если скидка - это только то, что вы ищете (несколько неясное в вопросе).

Смежные вопросы