【问题标题】:Load Latest Posts First From Bottom To Top首先从下到上加载最新帖子
【发布时间】:2014-11-03 00:01:31
【问题描述】:

正如标题所说,我正在尝试获得类似 facebook 的功能,但由于某些原因,当我将其应用于左连接查询时,我得到重复的“post_id”列,这是为什么? :/

我认为我已经解释得足够充分,我希望最新的帖子首先显示在底部(从底部到顶部,查看查询应该能更详细地解释我想要什么)

这是工作查询(没有左连接,但我需要左连接来加载每个帖子上的所有 cmets)

  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");

是什么导致我收到此错误,据我所知,我已经尝试了所有方法

谢谢!

【问题讨论】:

    标签: php mysql sql syntax rows


    【解决方案1】:

    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
    

    【讨论】:

    • @Jan Dooly,如果有帮助,您可以接受答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 2012-10-16
    • 2015-02-06
    相关资源
    最近更新 更多