2013-10-26 34 views
0

我一直在尋找一段時間,但仍未找到最佳解決方案。我有三個表格:帖子,會員和評論。我想有一個評論和回覆系統。評論與回覆,加入3個表格查詢

這些都是我的表:

主要崗位:

post_id | image_url | image_thumb_url | title | text | date | sender_id 

成員:

user_id | username | pw | email | 

評論(回覆)到帖子:

com_id | comment | post_id_fk | user_id_fk | ip | date 

我現在有一個查詢檢索與會員數據的職位:

SELECT * FROM `posts` 
LEFT JOIN `membership` ON `posts`.`sender_id` = `membership`.`user_id` 
UNION SELECT * FROM `posts` 
     RIGHT JOIN `membership` ON `posts`.`sender_id` = `membership`.`user_id` 
     ORDER BY `post_id` DESC LIMIT $limit $start; 

我現在想的答覆添加到每個崗位,包含會員數據。有沒有人有建議或者更好的解決方案?

+0

爲什麼使用'LEFT JOIN'?是否可以通過不是會員的人提交文章? – Barmar

+0

您是否希望'LIMIT'適用於帖子數量或帖子+評論? – Barmar

+0

這是什麼工會?你想列出沒有帖子的會員? – Barmar

回答

0
SELECT * FROM posts AS P 
LEFT JOIN comments AS C 
ON P.post_id = C.post_id_fk 
LEFT JOIN membership AS POST_MEMBER 
ON POST_MEMBER.user_id = P.sender_id 
LEFT JOIN membership AS REPLY_MEMBER 
ON REPLY_MEMBER.user_id = C.user_id_fk