版权声明:希望能和看到文章的你交个朋友 https://blog.csdn.net/u012954706/article/details/85053594
1、left join
on 后面的写前面的字段,这样个人认为比较好区分
1、没有子查询的时候
select o.createTime,
o.clickTime,
c.itemTitle,
o.itemId,
o.orderNo,
c.shopTitle,
o.estimateAmount,
o.payAmount,
c.commissionRatio,
o.orderStatus
from user_order o left join
coupon_taoke_data c on c.id = o.taokeId
where 1=1
2、有子查询
select o.payAmount,
o.estimateAmount,
( IFNULL(o3.notValidOrderSize ,0 ) + IFNULL(o.orderSize ,0 ) ) as orderSize
from user_info u left join (select IFNULL(count(o1.orderNo),0 ) as orderSize ,
IFNULL(sum(o1.estimateAmount) ,0) as estimateAmount ,
IFNULL(sum(o1.payAmount) ,0) as payAmount,
o1.userInfoId as userInfoId
from user_order o1
where o1.userInfoId = 4 and o1.orderStatus !='订单失效'
)
o on o.userInfoId = u.id
left join (select IFNULL(count(o2.orderNo),0 ) as notValidOrderSize,
o2.userInfoId as userInfoId
from user_order o2
where o2.orderStatus ='订单失效' and o2.userInfoId = 4
)
o3 on o3.userInfoId = u.id
where u.id = 4;
感兴趣的,欢迎添加博主微信,
哈,博主很乐意和各路好友交流,如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,备注您的微信或者其他联系方式。添加博主微信哦。
请下方留言吧。可与博主自由讨论哦
微信 | 微信公众号 | 支付宝 |
---|---|---|