今天遇到一个这样的需求:
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