[英]Update Inner Join two tables
** 表格輸入**
(id_inpits, name, quantity_inputs)
表輸出`(id_outputs、name_outputs、quantity_outputs、quantity_disponible)
當我想更新quantity_output
,並計算quantity_disponbile
知道: quantity_disponbile = quantity_inputs - quantity_output
我試過:
if(!empty($_POST['do'])) {
$m_id = $_POST['id_output'];
$quantity_outputs = $_POST["quantity_outputs"];
$sql = $db->query("UPDATE outputs AS o INNER JOIN inputs As i ON i.id_input = o.inputs_id SET o.quantity_dispo = 'select quantity_inputs from inputs - FROM (select quantity_outputs from outputs )', o.quantity_outputs = '$quantity_outputs' WHERE o.id_output =' $m_id'");
if(!$sql) {
die(mysql_error());
}
}
一個建議:quantity_disponbile 應該是兩個表中的一個計算字段。 所以把邏輯一分為二:一個是選擇查詢,一個是更新查詢。 更新查詢只需要更新quantity_output,select查詢可以是這樣:
select
i.quantity_inputs - o.quantity_output = quantity_disponible
from output o
inner join input i on i.id_inpits = o.inputs_id
反正我不改正錯字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.