簡體   English   中英

我如何計算來自另一個表格的所有喜歡?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM