SET @tgl_awal = '2020-06-01 00:00:00';
SET @tgl_akhir = '2020-06-30 00:00:00';
SET @saldo_awal = CAST('50000000.00' AS DECIMAL(16,2));
SET @saldo_awal = @saldo_awal - IFNULL((SELECT SUM(IF(tipe = 'DEBET', nominal, nominal * -1))
FROM jurnal
INNER JOIN jurnal_detail
ON jurnal_id = jurnal.id
WHERE tanggal < @tgl_awal AND akun = '1.1'), 0);
SELECT ROUND(@saldo_awal + IFNULL((
SELECT SUM(IF(JDX.tipe = 'DEBET', JDX.nominal, JDX.nominal * -1))
FROM jurnal_detail JDX
INNER JOIN jurnal JX
ON JDX.jurnal_id = JX.id
WHERE JDX.akun = '1.1' AND JDX.id < JD.id AND JX.tanggal >= @tgl_awal), 0 ), 2) AS 'saldo_awal', (ROUND(@saldo_awal + IFNULL( (
SELECT SUM(IF(JDX.tipe = 'DEBET', JDX.nominal, JDX.nominal * -1))
FROM jurnal_detail JDX
INNER JOIN jurnal JX
ON JDX.jurnal_id = JX.id
WHERE JDX.akun = '1.1' AND (JX.tanggal < J.tanggal OR (JX.tanggal = J.tanggal AND JDX.id < JD.id)) AND JX.tanggal >= @tgl_awal), 0 ), 2) +
IF(JD.tipe = 'DEBET', JD.nominal, JD.nominal * -1)) AS 'saldo_akhir', JD.*, J.tanggal
FROM jurnal_detail JD
INNER JOIN jurnal J
ON JD.jurnal_id = J.id
WHERE akun = '1.1' AND J.tanggal >= @tgl_awal AND J.tanggal <= @tgl_akhir
ORDER BY J.tanggal ASC, JD.id ASC;
错误是您的sql语法有错误;查看与您的mysql服务器版本对应的手册,以了解“set@tgl_akhir='2020-06-30 00:00:00'附近使用的正确语法;设置@saldo\u awal=cast('',第2行)
暂无答案!
目前还没有任何答案,快来回答吧!