簡體   English   中英

更新內連接兩個表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM