一张表要想left join 两张表如何写sql语句

一张表要想left join 两张表如何写sql语句

select
    count(*)
from
    customer_plan_punch
left join
    customer_plan
on
    customer_plan.id = customer_plan_punch.customer_plan_id
left join
health_punch_item
on
health_punch_item.id = customer_plan.plan_template_id
where
    customer_plan.customer_id = #{customerId}
and
    customer_plan.plan_class='HEALTH_PUNCH'
and
    customer_plan.`status`=1
and
    customer_plan_punch.punch_date >= #{startTime}
and
    #{endTime} >= customer_plan_punch.punch_date
<if test="type == 0">
    and
    health_punch_item.label = "运动"
</if>
<if test="type == 1">
    and
    health_punch_item.label = "饮食"
</if>
<if test="type == 2">
    and
    health_punch_item.label = "睡眠"
</if>
<if test="type == 3">
    and
    health_punch_item.label = "其他"
</if>

写成sql就是

select
    count(*)
from
    customer_plan_punch
left join
    customer_plan
on
    customer_plan.id = customer_plan_punch.customer_plan_id
left join
health_punch_item
on
health_punch_item.id = customer_plan.plan_template_id

也就是说一张表用left join去惯量两张表,只需要left join。。。on两次就ok了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值