1. 程式人生 > >sql根據某一欄位值的不同關聯不同的表(一)

sql根據某一欄位值的不同關聯不同的表(一)

一.資料庫資料資料

deed_records


sport_records


match_ticket_record


二.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) 
             when d.deed_type=3 then (SELECT u.id from users u INNER JOIN vp_situation v on u.openId=v.vps_vpid WHERE u.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;

三.結果