mysql数据库

mysql根据字段值关联查不同表

2024-01-30  本文已影响0人  Geroge1226

1、说明

背景:存在一张会员表(mc_profiles),表中存储了服务店铺id(store_id)和店铺类型(store_type=1,2,3),如下:

id member_id store_id store_type
1 661111 1001 1
1 662000 2002 2
1 663000 3001 3
id store_name
1001 上海店
1002 北京店
id store_name
2001 青海运动城
2002 天津运动城
id store_name
3001 四川异业渠道
3002 广西异业渠道

需求:查询出会员信息及其店铺信息(memberId,storeName,storeId)。

2、实现方式

方式一: 使用left join 结合case when 判断直接取值

select mp.member_id ,mp.store_id,
case mp.store_type 
      when  1 then bs.store_name
      when  2 then sc.store_name
      when 3 then be.store_name end as 'store_name'
  from  mc_profiles mp  
left join bas_store bs on bs.id=mp.store_id
left join bas_sports_city sc on sc.id=mp.store_id
left join bas_extros be.id=mp.store_id
上一篇 下一篇

猜你喜欢

热点阅读