2011-12-24 46 views
0

我有一個主表'activitynot'它有2個字段鏈接到samtable'member'。mysql主錶鏈接2字段到同一張表

我怎樣才能從成員表它下面的代碼給出一個正確的名稱member.Sname但

(SELECT member.Sname 
FROM activitynote 
INNER JOIN member 
ON activitynote.idmemberref = member.idmember limit 1) 

它把同一個名字的每一行普萊舍糾正

SELECT member.Sname, activitynote.idactivity, (SELECT member.Sname 
FROM activitynote 
INNER JOIN member 
ON activitynote.idmemberref = member.idmember limit 1) 

FROM activitynote 
INNER JOIN member 
ON activitynote.idactivity = member.idmember 
名稱

回答

1

你需要使它成爲相關子查詢:

SELECT member.Sname 
    , activitynote.idactivity 
    , (SELECT member.Sname 
     FROM member      --- JOIN removed 
     WHERE activitynote.idmemberref = member.idmember 
     LIMIT 1 
     ) AS member2_name 
FROM activitynote 
    INNER JOIN member 
    ON activitynote.idactivity = member.idmember 

或加入到member表兩次:

SELECT member.Sname 
    , activitynote.idactivity 
    , member2.Sname AS member2_name 
FROM activitynote 
    INNER JOIN member 
    ON activitynote.idactivity = member.idmember 
    LEFT JOIN member AS member2 
    ON activitynote.idmemberref = member2.idmember 
+0

感謝您的幫助,它是優秀的 – user1040364 2011-12-24 23:59:54