2014-02-22 285 views
-1

我有2個表客戶和牛奶如下圖所示乘兩列的值

客戶

customers (cid, name, price); 

牛奶

milk (mid, customer_id, milk_letters, mprice) 

我想將價格乘以milk_lettersstoremprice where customer_id = cid

我想

$cid = $_POST['cid']; 
$milk_letters = $_POST['milk_letters']; 
$sql = "INSERT INTO milk (customer_id, milk_letters, milk_date) 
     VALUES ('$cid','$milk_letters', NOW())"; 
dbQuery($sql); 
$sql2 = "INSERT INTO milk SELECT SUM(price * milk_letters) as mprice FROM customers , milk WHERE customers.cid = '$cid' and milk.customer_id = '$cid'"; 
    $result2 = dbQuery($sql2); 
+0

做到這一點看看這個: http://stackoverflow.com/ question/5222044/column-calculated-from-another-column – mok

+0

如果您想要修改現有的行,請使用'UPDATE',而不是'INSERT'。 – Barmar

回答

1

你可以在一個查詢,而不是2

INSERT INTO milk (customer_id, milk_letters, milk_date, mprice) 
SELECT {$cid}, {$milk_letters}, NOW(), customers.price * {$milk_letters} 
FROM customers 
WHERE customers.cid = {$cid} 
+0

非常感謝你..工作就像一個魅力.. :) – Sushant

+0

好吧接下來的事情我想要做的是我想添加所有特定客戶的mprice意味着將增加一個客戶列總數,並添加mprice其中cusoter_id = cid – Sushant

+0

像更新客戶SET總= =(選擇SUM(mprice)從牛奶WHERE milk.cid = customers.cid) - 儘管從編程的角度來看它更好地計算這個值而不是存儲它 - 你可以創建一個視圖CREATE VIEW customertotals AS SELECT customer.cid,milk.milk_letters * customers.price AS milktotal GROUP BY customer.cid - 然後只使用SELECT cid,milktotal FROM customertotals –