我有購物車和項目作爲數組存儲在會話中。數組鍵表示項目的id,數組值是項目的數量。 array([1]=>1, [2]=>1);
是否有可能在mysql查詢中創建和使用「虛擬」表?
我要計算總價。是否有可能使它使用一個MySQL查詢?
例如:
SELECT SUM(c.count * i.price) FROM (--virtual table--) c
LEFT JOIN item i ON i.id=c.id;
我有購物車和項目作爲數組存儲在會話中。數組鍵表示項目的id,數組值是項目的數量。 array([1]=>1, [2]=>1);
是否有可能在mysql查詢中創建和使用「虛擬」表?
我要計算總價。是否有可能使它使用一個MySQL查詢?
例如:
SELECT SUM(c.count * i.price) FROM (--virtual table--) c
LEFT JOIN item i ON i.id=c.id;
我知道你想這一點:
SELECT 1 AS product_id, 1 AS quantity
UNION ALL
SELECT 2, 1
UNION ALL
SELECT 3, 100
...
在任何情況下,它看起來不太彆扭執行下列操作之一:
這樣,你可以做在一個地方所有的計算。
你可能指的是Views或subqueries - 如果是這樣,那麼你是正確的。
不可能,因爲數據在會話中(除非你想寫會話數據在數據庫中)。
可能,我建議這種方法
SELECT i.id, i.price
FROM item i
WHERE i.id in (array.keys)
假設結果放在一個集合中,
讓itemResult
是集合 然後遍歷
var total = 0
for(var item : itemResult)
total += item.price * array[i.id]
total
會使用這種僞
包含總和是。 http://dev.mysql.com/doc/refman/5.0/en/subqueries.html – Galz