如标题所述,我试图获取类似Facebook的功能,但是由于某些原因,当我将其应用于左联接查询时,我得到了重复的“ post_id”列,这是为什么呢? :/
我假设我已经解释了足够多的内容,所以我希望最新的帖子先从下至下显示(从下至上,然后查看查询应向您解释我想要的更多内容)
这是有效的查询(没有左联接,但我需要左联接才能在每个帖子上加载所有评论)
Working: (need the left join functions though)
$select_post_comments = $db->query("SELECT * FROM (
SELECT * FROM ".TABLE_PREFIX."groups_comments
WHERE post_id='$escape_post_id_row'
ORDER BY comment_id DESC LIMIT 7
) a ORDER BY comment_id");
得到重复的post_id错误:/
$select_post_comments = $db->query("SELECT * FROM (
SELECT * FROM spud_groups_posts
LEFT JOIN spud_groups_comments ON spud_groups_posts.post_id = spud_groups_comments.post_id
WHERE spud_groups_posts.post_id='$post_id_feed' ORDER BY comment_id DESC LIMIT 7
) a ORDER BY comment_id");
是什么导致我遇到此错误,我已尽一切努力
谢谢!
最佳答案
post_id
是表spud_groups_posts
和spud_groups_comments
中的一列,并且您正在执行JOIN并选择所有导致重复列错误的列
选择带有表名前缀的列名,并仅选择必需的列
SELECT spud_groups_posts.post_id as sgpostid, spud_groups_comments.comment_id
FROM spud_groups_posts
LEFT JOIN spud_groups_comments
ON spud_groups_posts.post_id = spud_groups_comments.post_id