0
我有4個表:從多表中選擇並返回所有
posts [post_id post_title post_body post_date post_by post_accepted]
users [user_id user_name user_pw]
comments [comment_id comment_user comment_co comment_post comment_date]
categories [categorie_id categorie_name]
每個表包含數據的所有數據都屬於表的帖子
categories<-posts
posts<-users
posts<-comments<-users
我想獲得ID POST_ID職位,得到它的意見和誰發佈它,並得到類別的名稱和編號
我試過但我得到的帖子,但不是所有的意見,或者如果帖子劑量沒有評論它不會出現
這是我的SQL查詢
SELECT COUNT(comment_id),comments.*,categories.*,users.*,posts.*
FROM posts
JOIN categories on (posts.post_id = categories.categorie_id)
JOIN users on (posts.post_by = users.user_id)
LEFT JOIN comments on (posts.post_id = comments.comment_post)
WHERE posts.post_id='34'
AND posts.post_accepted = '1' ;
,並感謝
你必須使用左外連接徵求意見。內部連接將需要在表中有行。如果有多個註釋,你也會得到多行註釋,而count會得到1.你不能像這樣在一行中得到多行。 – 2015-04-05 11:07:06
還要考慮列的命名。 Post_by不是用於指向用戶表的好名稱,或者是使用單獨的類別表(每個帖子只保存一個值)。如果總是存在1-1的關係,那些屬於同一張表。如果表是用戶,則該列應該只是名稱,而不是user_name,因爲它明顯是什麼名稱。 post_title,post_body等相同 – 2015-04-05 11:12:21
謝謝@SamiKuhmonen我創建函數來獲取評論計數並將它們加入到數組 – D34DlyM4N 2015-04-05 11:27:09