首页 > 解决方案 > 计算 @balance 返回 null

问题描述

select 
transaksi_perantara.debet, transaksi_perantara.kredit, 
@balance := @balance + transaksi_perantara.debet - transaksi_perantara.kredit AS balance from transaksi_perantara;

余额列返回 NULL。

标签: mysql

解决方案


在不知道表的数据结构的情况下,很难直截了当地给出答案。

但是,我可以说您的列之一包括空值和空值与空值的求和/减值。

@balance在你的情况下绝对是空的

你可以用 IFNULL 替换你的列

select 
  transaksi_perantara.debet, 
  transaksi_perantara.kredit, 
  @balance := IFNULL(@balance,0) + 
    IFNULL(transaksi_perantara.debet, 0) - 
    IFNULL(transaksi_perantara.kredit,0) 
  AS balance from transaksi_perantara;

推荐阅读