如果我不使用3个表,则总和没有问题,但是如果我使用4个表并使用减法(sum(table1.a)-ifnull(table2.b))。这就是结果sum 只是总和
这是减法的照片
在此处输入图片说明
代码是这样的
SELECT pengiriman_supply.po_nomor AS po, data_supplier.nama_supplier, data_barang.nama_barang, (Sum(pengiriman_supply.jumlah)-ifnull(masuk.terima,0)) as total FROM pengiriman_supply INNER JOIN data_barang ON pengiriman_supply.idbarang = data_barang.idbarang INNER JOIN data_supplier ON pengiriman_supply.idsupplier = data_supplier.id_supplier LEFT JOIN masuk ON masuk.refrence = pengiriman_supply.po_nomor GROUP BY pengiriman_supply.po_nomor ORDER BY po DESC 如果我使用的是3个不带表的表,masuk则总和是没有问题的,但masuk带减法的表总和就总有问题。我已经尝试了from中的子查询,但是结果却相同。
MySQL的 SQL
问题来源于stack overflow
似乎您需要将其包含ifnull(masuk.terima,0)在内sum()
SELECT pengiriman_supply.po_nomor AS po, data_supplier.nama_supplier, data_barang.nama_barang, Sum((pengiriman_supply.jumlah)-ifnull(masuk.terima,0)) as total FROM pengiriman_supply INNER JOIN data_barang ON pengiriman_supply.idbarang = data_barang.idbarang INNER JOIN data_supplier ON pengiriman_supply.idsupplier = data_supplier.id_supplier LEFT JOIN masuk ON masuk.refrence = pengiriman_supply.po_nomor GROUP BY pengiriman_supply.po_nomor ORDER BY po DESC
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。