一:数据库
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;
三:结果