これらの4つのフィールドは互いに関連しています
私はそれを次のように出力したい:
私の質問では:
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 everybody, 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)
GROUP BY posts.pid
ORDER BY posts.pid DESC
現在、friendsテーブルに参加する必要がある部分に問題があります。friend_idまたはuser_idからのすべての投稿と、現在ログインしているユーザーからの投稿も表示したいと思います。friendテーブルに一致する友達がいない場合は、ユーザーからのすべての投稿を出力するだけです。皆さん、助けが必要です。
friends.friend_id=現在のユーザーの友達
friends.user_id=ユーザーの現在の友達
したがって、friends.friend_id=posts.user_idまたはfriends.user_id=posts.user_id
友達のテーブルが理解できない場合は、テーブルを改善するために変更するのを手伝ってください。