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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Tomwildboar/article/details/102668477

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

猜你喜欢

转载自blog.csdn.net/Tomwildboar/article/details/102668477
今日推荐