根据表字段名的不同值,去关联不同的表获取不同的数据

今天遇到一个这样的需求:
1、查询一个表(c)的数据,表里面有个type字段
2、type = 1,就关联表a,查询a.xxxx,type = 2,就关联表b,查询b.yyyy
2、查询出来的别名是 cccc


表结构

表名 字段名 字段名 字段名
c type a_id b_id
a a_id xxxx a_name
b b_id yyyy b_name
SELECT 
  c.type
  ,CASE
    WHEN c.type = 1 THEN a.xxxx
    WHEN c.type = 2 THEN b.yyyy
  END cccc
FROM
  c
LEFT JOIN a ON c.a_id = a.a_id
LEFT JOIN b ON c.b_id = b.b_id

你可能感兴趣的:(MySql)