我在以下情况中遇到麻烦: 我得到了一些价值。假设我得到了1000。 我有一张表如下。
现在当我获得价值时,我需要一个会更新所有这个表的查询。 例如,我将运行,直到所有金额将被支付或它取得的价值变为零。 如果支付价值,则状态变为1。
如果最后一个值大于零。而不是将它存储在任何变量上。
我这样做
$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;
答案 0 :(得分:0)
我使用此查询并根据要求更新付费字段。
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'