sql根据某一字段值的不同关联不同表(二)

来源:互联网 发布:电子地图一把抓软件 编辑:程序博客网 时间:2024/06/05 04:39

一:数据库

deed_records


sport_records


match_ticket_record


vp_situation


user


二:sql语句

SELECT d.integral , CASE WHEN d.deed_type=1 THEN (SELECT s.user_id FROM sport_records s WHERE s.id=d.record_id)
             WHEN d.deed_type=2 THEN (SELECT m.user_id FROM match_ticket_record m  WHERE m.id=d.record_id) END id,
        CASE WHEN d.deed_type=1 THEN '扫码入场'   WHEN d.deed_type=2 THEN '买票'   WHEN d.deed_type=3 THEN '投票' WHEN d.deed_type=4 THEN '注册'   WHEN d.deed_type=5 THEN '购物'  END type 
 FROM deed_records d having id =151
UNION ALL SELECT d.integral, u.id, CASE WHEN d.deed_type=1 THEN '扫码入场'   WHEN d.deed_type=2 THEN '买票'   WHEN d.deed_type=3 THEN '投票' WHEN d.deed_type=4 THEN '注册' WHEN d.deed_type=5 THEN '购物'  END type   from deed_records d INNER JOIN vp_situation v on d.record_id=v.id INNER JOIN users u on u.openId=v.vps_vpid   WHERE u.id=151;

三:结果



阅读全文
1 0
原创粉丝点击