这是我在MySQL中的查询。我不知道为什么这个领域未知
SELECT `a`.`NAMA_BULAN` AS `Bulan`,
CASE WHEN `b`.`ID_TRANSAKSIJUAL` IS NULL
THEN 0
ELSE `b`.`ID_TRANSAKSIJUAL`
END AS `Total_Pendapatan`
FROM `tbl_bulan` AS `a`
LEFT JOIN (
SELECT MONTH(`tbl_transaksi_jual`.`TGL_TRANSAKSI`) AS `TGL_TRANSAKSI` , COUNT(`tbl_transaksi_jual`.`ID_TRANSAKSIJUAL`) AS `TOTAL_STLH_DISC`
FROM `tbl_transaksi_jual`
WHERE `tbl_transaksi_jual`.`ID_CABANG`=1 AND
YEAR(`tbl_transaksi_jual`.`TGL_TRANSAKSI`)= 2016
GROUP BY MONTH(`tbl_transaksi_jual`.`TGL_TRANSAKSI`)
) AS `b` ON `a`.ID_BULAN = `b`.`TGL_TRANSAKSI`
ORDER BY `a`.ID_BULAN ASC
答案 0 :(得分:1)
子查询@code
不会返回名为b
的列。它会在ID_TRANSAKSIJUAL
中返回此列的计数,因此您应该在主查询中对其进行测试。
您也可以使用TOTAL_STLH_DISC
或IFNULL
代替COALESCE
表达。
CASE