2014-02-07 212 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

其實它是一個真正的查詢 – 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將乘以折扣並從價格中扣除,如果您想要包含折扣金額,或者只是將折扣率乘以折扣百分比(如果折扣僅限於您所尋求的)(問題有點不清楚)。