2011-12-24 14 views
0

私はメインテーブル 'activitynot'を持っています。それはsamtable 'member'にリンクする2つのフィールドを持っています。それはすべての行に対して同じ名前を与えるどのように私はメンバー表から以下のコードの名前を取得することができますmember.Snameの正しい名前を与えるが、mysqlメインテーブルリンク2同じテーブルへのフィールド

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

pleseはそれを

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 

または参加テーブルを2回:

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

関連する問題