从已删除的用户SQL函数中获取帖子

时间:2014-06-09 16:22:34

标签: php sql function

您好我是Sql的新手,我正在重新构建一个简单的PHP仪表板。我有mysql数据库,我的查询有问题。

public function get_posts($thread_id, $start, $limit)
    {
        $sql = "SELECT a.*, b.username, b.id as user_id FROM ".TBL_POSTS." a, ".TBL_USERS." b 
                WHERE a.thread_id = ".$thread_id." AND a.author_id = b.id 
                ORDER BY a.date_add ASC LIMIT ".$start.", ".$limit;
        return $this->db->query($sql)->result();

可能发生的情况是a.author id不等于b.id,因为删除了用户。我需要改进我的sql以显示已删除用户的帖子,并显示一些由已删除用户发布的信息。

谢谢

2 个答案:

答案 0 :(得分:1)

尝试以下代码。它选择表b中的所有行并查找表a中的所有匹配项,或者如果a中没有相应的行,则在a的所有字段中放置NULL。

SELECT a.*, b.username, b.id as user_id FROM ".TBL_POSTS." a LEFT JOIN ".TBL_USERS." b
            ON a.author_id = b.id
            WHERE a.thread_id = ".$thread_id

答案 1 :(得分:0)

编辑:

您必须使用Foreig Keys并将LEFT联接添加到您的查询