내가 아니라 당신이 친구 = USER_ID를 기반으로 친구 테이블을 가입하려는 이해하면 친구 테이블의 USER_ID에 가입 일치, 그래서 당신은이 같은 뭔가를 시도 할 수없는 경우 :
SELECT users.firstname, users.lastname, users.screenname, posts.post_id, posts.user_id,
posts.post, posts.upload_name, posts.post_type,
DATE_FORMAT(posts.date_posted, '%M %d, %Y %r') AS date,
COUNT(NULLIF(feeds.user_id, ?)) AS friends, SUM(feeds.user_id = ?) AS you,
GROUP_CONCAT(CASE WHEN NOT likes.user_id = ? THEN
CONCAT_WS(' ', likes.firstname, likes.lastname)
END
) as names
FROM website.users users
INNER JOIN website.posts posts ON (users.user_id = posts.user_id)
LEFT JOIN website.feeds feeds ON (posts.post_id = feeds.post_id)
LEFT JOIN website.users likes ON (feeds.user_id = likes.user_id)
LEFT JOIN website.friends friends ON ((posts.user_id = friends.user_id) OR (posts.user_id = friends.friends_id))
GROUP BY posts.pid
ORDER BY posts.pid DESC
I 기본적으로 친구 테이블에 OR을 사용하여 JOIN을 추가하려는 두 필드에 JOIN을 추가했습니다 ...
달성하고자하는 것을 더 잘 설명하고 친구들이 사용자 및 게시물과 어떤 관계가 있는지 설명하십시오. – aleroot
친구 테이블은 사용자 및 게시물과 관련됩니다. friends.friend_id = posts.user_id = users.user_id 게시물에서 모든 게시물 FF 조건을 사용하여 출력 할 : 일치하는 경우 friends.friends_id 또는 friends.user_id 일치) 2 posts.user_id 경우 1.) posts.user_id = 현재 로그인 한 사용자의 모든 게시물을 선택하기 만하면됩니다. –
'피드 '는 다른 테이블과 어떻게 관련이 있습니까? '피드 '에서'당신'과'모두'를 구별하는 법? – vyegorov