版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
今天遇到一个这样的需求:
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