我有两(2)张表:ps\ wk\ mp\卖方\交易\历史记录
以及ps\ wk\ mp\卖家\订单\状态
仅当当前状态=5时,我要合计卖家金额
为此,我写了这样一篇文章:
select sum(seller_amount) as seller_amount
from ps_wk_mp_seller_transaction_history th inner join
ps_wk_mp_seller_order_status os
on os.id_order = th.id_transaction and
os.current_state = 5 and
th.id_customer_seller = 2;
对于id\u customer\u seller=2,我得到这个4984.020000(4950+34.02),它是精确的
但是对于id\u customer\u seller=5,我得到了25.848000而不是null
有人能帮我吗?
也许你可以自己测试一下,这个代码:https://github.com/kulturman/fakerepo
1条答案
按热度按时间dldeef671#
首先你的记录有逻辑问题,
id_transaction
有两个相同的事务处理id_transaction
但数量不同state
! so id为的事务41
有状态的5
这就是为什么顾客5
将不为空,因为41处于状态5。来解决这个问题
事务id必须是每个事务的唯一id,以便区分事务状态和金额
查询应该是这样的
这里的工作示例