select t4.money,t1.user_id from t1,t2,t3,t4
where t1.user_id = '變量'
and t1.user_id = t2.user_id
and t2.msg_id = t3.msg
and t3.vid = t4.vid
and t3.jid = t4.jid
and t3.eid = t4.eid
select a.money from (select money, t4.vid, t4.jid, t4.eid, msg_id from t3, t4
where t4.vid=t3.vid and
t4.jid=t3.jid and
t4.eid=t3.eid) a
where a.msg_id in (select msg_id from t2, t1 where t2.user_id=t1.user_id )
select money from t4 where (vid,jid,eid) in(select vid,jid,eid from t3 where msg_id in(select msg_id from t2 where user_id in(select user_id from t1 where user_id='...')))
或者
select money from t4 where (vid,jid,eid) in(select vid,jid,eid from t3 where msg_id in(select msg_id from t2 where user_id='...'))
这样显得比较清晰明了
给你个正解吧:
select t4.money,a.user_id
from t4,
(select t1.userid,t3.vid,t3.jid,t3.eid
from t1,t2,t3
where t1.user_id=t2.user_id
and t2.msg_id=t3.msg_id
) a
where (a.vid,a.jid,a.eid) in (t4.vid,t4.jid,t4.eid)