[英]Update Inner Join two tables
** Table Inputs** ** 表格输入**
(id_inpits, name, quantity_inputs)
Table Outputs `(id_outputs, name_outputs, quantity_outputs, quantity_disponible)表输出`(id_outputs、name_outputs、quantity_outputs、quantity_disponible)
when I want to update the quantity_output
, and calculate the quantity_disponbile
当我想更新quantity_output
,并计算quantity_disponbile
knowing that : quantity_disponbile = quantity_inputs - quantity_output
知道: quantity_disponbile = quantity_inputs - quantity_output
I tried with :我试过:
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());
}
}
One suggestion: quantity_disponbile is supposed a calculated field from both table.一个建议:quantity_disponbile 应该是两个表中的一个计算字段。 So split the logic into two: one select query and one update query.所以把逻辑一分为二:一个是选择查询,一个是更新查询。 The update query just need to update the quantity_output, and the select query can be like:更新查询只需要更新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
I don't correct the typo anyway反正我不改正错字
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.