如何使用php中的where子句在单个查询中更新和减去两个表中的列。?

如何使用php中的where子句在单个查询中更新和减去两个表中的列。?,php,mysql,sql,Php,Mysql,Sql,我想在一个查询中减去两列(数量),并更新它。使用包含2个标识的where子句。 这就是我正在尝试的 $query=" UPDATE all_stores LEFT JOIN i_v ON all_stores.name = i_v.name SET all_stores.qty = (all_stores.qty - i_v.qty ) "; $statement = $connect->prepare($query); $s

我想在一个查询中减去两列(数量),并更新它。使用包含2个标识的where子句。 这就是我正在尝试的

 $query="
UPDATE all_stores 
  LEFT JOIN i_v
   ON  all_stores.name = i_v.name 
       SET all_stores.qty = (all_stores.qty - i_v.qty )
";
 
  $statement = $connect->prepare($query);
  $statement->execute($data);
这是“所有商店”和“i_v”的表格
我想更新“数量”列中所有存储表中的“数据”。

(1)您的查询有什么问题?(2)示例数据和期望的结果可能会澄清您想要做什么。您正在为表“i_v”使用左联接,这意味着“所有存储”中的所有列都不会更新……只有左联接返回的列才会更新。我将使用完全联接,因为@Nikster2014在左联接
更新表a联接表b上没有太多的点table_a.name=table_b.name设置table_a.qty=(table_a.qty-table_b.qty),其中table_a.name=table_b.name@futureweb这可以减少字段中的数量,但当我输入多个条目时,“表数量”仅取第一个值。