单个SQL查询,用于更新多个字段值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单个SQL查询,用于更新多个字段值相关的知识,希望对你有一定的参考价值。

我在以下情况中遇到麻烦:我得到了一些价值。假设我得到1000.我有一张桌子如下。

enter image description here

现在,当我得到价值时,我需要一个更新所有这个表的查询。例如,我将运行,直到所有金额将被支付或它取得的价值变为零。如果支付价值,则状态变为1。

更新表后看起来像这个enter image description here

如果在最后一个值将大于零。然后将其存储在任何变量上。

我这样做

$userval = 1000;
$sql = "
        update challan_1 t1,
        (
            SELECT x.id , SUM(y.bal) balance
            FROM (
                    SELECT *,amount - '$userval' bal FROM challan_1
                 ) x
            JOIN
                 (
                    SELECT *,paid - amount bal FROM challan_1
                 ) y
            ON
            y.id <= x.id GROUP BY x.id
        )t2 set t1.paid =balance WHERE t1.id = t2.id
      ";

echo $sql;

但它会给出以下结果。 enter image description here

答案

我使用此查询并根据要求更新付费字段。

SELECT x.id , x.amount , x.amount as paid_amount , SUM(y.bal) as total, x.reciept_no
    FROM 
    ( 
        SELECT *,paid bal FROM challan_1 
    ) x 
    JOIN 
    ( 
        SELECT *,amount bal FROM challan_1 
    )y
    ON y.id <= x.id 
    GROUP BY x.id 
    HAVING total <= '500'

以上是关于单个SQL查询,用于更新多个字段值的主要内容,如果未能解决你的问题,请参考以下文章

Django 表单:查询结果定义的字段,单个视图同时更新多个对象

单个查询中的多个 SQL 更新语句

如何检索与单个 SQL id 匹配的多个值

使用 sql 查询更新 acf 字段值?

Solr Highlighting:如何为同一字段请求多个片段长度?

HQL语句只查询一个字段返回啥值比如 Select name from PO;