프로필 pic, 출신지, 사용자 ID 및 특정 사용자와 친구가되도록 요청한 사용자의 전체 이름을 보여주는 친구 요청 스크립트를 선택하는 다음 쿼리가 있습니다.SQL Select user
SELECT
a.hometown,
a.first_name,
a.uid,
a.last_name,
b.friend_one,
b.friend_two,
b.friend_request_id,
p.thumbnail
FROM
users a,
friend_requester b,
profile_pics p
WHERE
a.uid = b.friend_one
AND b.friend_two = $uid
AND p.uid_fk = $uid
ORDER BY b.created DESC LIMIT 5
내 문제는 대신 friend_requester 테이블에있는 각 쿼리에 대한 1 사용자를 반환하는, 내가 다른 프로필 사진과 함께 동일한 사용자의 예를 들어 3의 인스턴스를 돌려 줄 것입니다. 사용자가 3 개 프로필 사진을 업로드 한 경우 나 동일한 사용자의 3 가지 박스는 로그인 한 사용자와 친구가 될 것을 요청받을
id=1, profile_pic=profile_pic1.jpg...
id=1 profile_pic=profile_pic2.jpg...
id=1 profile_pic=profile_pic3.jpg...
그래서 저장되는.
Hituptony가 언급했듯이 'created_'열에있는 'profile_pics'테이블의 최신 삽입 된 그림을 선택하고 싶습니다.
을 'a' 또는'b'. 그렇지 않으면 이전 테이블의 모든 행에 대해 일치하는 교차 조인입니다. –
gms - 아니요. $ uid가 키인 경우 가입 할 필요가 없습니다. 동일한 정적 값을 일치시켜 고유성을 이미 보장했습니다. 문제는 최적화 프로그램이이를 알 수 있는지 여부입니다. –