mysql - 怎么判断一个用户下 是否存在未结算的订单
本文介绍了mysql - 怎么判断一个用户下 是否存在未结算的订单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
//有这样的需求 我得查询这个医生下是否存在未结算的订单该怎么处理还有未结算的金额
select COUNT(S.statement_status) as count, count(O.orderid) as check_count, sum(O.pay_money) as pay_money, sum(S.statement_money) as statement_money, D
.doctorname
, D
.hospital_name
, S
.doctor_uid
from hdw_settle
as S
inner join hdw_order
as O
on O
.orderid
= S
.orderid
inner join doctor_user
as D
on S
.doctor_uid
= D
.doctoruid
where (O
.diagnosis_status
= '3' and S
.doctor_uid
> '0') group by doctor_uid
limit 10 offset 0;
解决方案
从SQL性能和维护和程序维护的角度来说,建议把这条SQL拆开至少2条SQL执行,单独对未结算金额写一条SQL统计。
否则的话,要把未结算金额单独写一条SQL作为子查询,然后用现在这条SQL LEFT JOIN子查询SQL,再sum子查询的statement_money字段,想想这条SQL都觉得很复杂。
这篇关于mysql - 怎么判断一个用户下 是否存在未结算的订单的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文