4

SQL を使用して、友達を得るネットワーク関数を作成しています。次のコードを使用しました。

SELECT relationship.requester, 
       relationship.requested, 
       user.firstname, 
       user.lastname 
  FROM relationship 
  JOIN user ON (user.guid = relationship.requester
           OR user.guid = sqrelationship.requested) 
 WHERE relationship.requester = {$userid} 
    OR relationship.requested = {$userid} 
   AND relationship.approved = 1

SQL は、ユーザーによって開始または受信された承認済みの関係の ID を含むテーブルを返します。ただし、user.firstname と user.lastname から返される結果は 1 セットだけです。この式でリクエスタとリクエストされた名前の両方を取得できるようにするにはどうすればよいですか?

4

1 に答える 1

1

テーブルのデザインを指定していない質問からはわかりにくいですが、次のように推測しています。

select relationship.requester, relationship.requested, 
       requester.firstname, requester.lastname,
       requested.firstname, requested.lastname,
from relationship
left join user as requester on user.guid = relationship.requester 
left join user as requested on user.guid = relationship.requested
where relationship.requester = {$userid}
  and relationship.approved = 1
于 2012-07-30T00:18:01.153 に答える