如标题所述,我试图获取类似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_postsspud_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

10-08 19:22