[英]How can i count all likes from another tabel?
我已經做到了這一點,我的SQL在tbl_posts中至少有一個喜歡的時候會重新發布所有帖子。 BUt現在我想知道我怎么能讓它工作所以它返回所有帖子,即使他們沒有喜歡。 喜歡的內容通過外鍵存儲在tbl_posts_likes中(post_id,user_id作為tbl_posts_likes中的列)。 我的SQL目前看起來像這樣:
SELECT tbl_posts.*,tbl_users.name,COUNT(tbl_posts_likes.user_id) AS likes
FROM tbl_posts
INNER JOIN tbl_users ON tbl_posts.user_id = tbl_users.id
LEFT JOIN (SELECT * FROM tbl_friends fr WHERE fr.friend_id = '1') AS fr ON tbl_posts.user_id = fr.user_id
RIGHT JOIN tbl_posts_likes ON tbl_posts_likes.post_id = tbl_posts.id
WHERE tbl_posts.user_id = '1' OR tbl_posts.user_id = fr.user_id
ORDER BY tbl_posts.created_at DESC
如果你可以幫助我,那將是很好的,因為我正在尋找一個有效的SQL設置:/
來自德國的問候!
您需要按tbl_posts.id進行分組才能獲得每個帖子的結果。 如果你不這樣做,所有結果都會合並成一行。
一個小提琴每個崗位的結果,如果它不喜歡的結果為0。
SELECT tbl_posts.*,tbl_users.name,COUNT(tbl_posts_likes.user_id) AS likes
FROM tbl_posts
INNER JOIN tbl_users ON tbl_posts.user_id = tbl_users.id
LEFT JOIN tbl_posts_likes
ON tbl_posts.id = tbl_posts_likes.post_id
group by tbl_posts.id
找到像這樣的問題的解決方案的好方法:
簡單地解決問題的方法是首先只獲得一些喜歡的帖子。 稍后添加其他連接但首先關注獲取最基本的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.