2009-11-23 78 views
1

通常情況下,我有一個非常簡單的購物車,其中包含一些物品和數量。SQL在一個請求中計算購物車的價格

我願做這樣的事情:

SELECT SUM(price * quantity) as total FROM products WHERE product_id IN (1,2,3,4); 

但我怎麼能上綁定的product_id的數量,因爲數量是不是在數據庫?

有沒有其他的方式來做到這一點與低SQL成本?

回答

3

也許您可以返回一堆產品的價格清單,然後將此清單與附加數量逐一相乘。

SELECT product_id, price FROM products WHERE product_id IN (1,2,3,4); 

然後把你的正uplet出來,乘/總和與數量(在數組或列表之中,就像你在SQL的IN子句得到相同的列表)

+0

當然你是對的,我不知道我爲什麼如此複雜。 更多我需要購物車中每件產品的價格。所以,這是有道理的。 – Natim 2009-11-23 08:07:12