[英]How do i use CASE in mysql select query with left join?
select r.email,
rc.cuisine_id,
rc.restaurant_id,
c.id as c_id ,
c.name as cus_name,
r.image,
r.web_address,
r.area,
rp.TypeId,
rp.PaymentStatus ,
rp.RestaurantId
from restaurant as r
left join restaurant_cuisine as rc on r.id=rc.restaurant_id
left join cuisine as c on rc.cuisine_id=c.id where c.status='1'
Case statement that is needed 需要的案例说明
CASE WHEN rp.TypeId = '1'
THEN left join restaurant_payment as rp on r.id=rp.RestaurantId
WHEN rp.TypeId = '3'
THEN left join users as u on rp.RestaurantId=u.id
END
Try this 尝试这个
select r.email,
rc.cuisine_id,
rc.restaurant_id,
c.id as c_id ,
c.name as cus_name,
r.image,
r.web_address,
r.area,
rp.TypeId,
rp.PaymentStatus ,
rp.RestaurantId
from restaurant as r
left join restaurant_cuisine as rc on r.id=rc.restaurant_id
left join cuisine as c on rc.cuisine_id=c.id where c.status='1' and
rp.TypeId = CASE
WHEN rp.TypeId = '1'
THEN left join restaurant_payment as rp on r.id=rp.RestaurantId
WHEN rp.TypeId = '3'
THEN left join users as u on rp.RestaurantId=u.id
END
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.