我编写了一个必须使用 CodeIgniter 执行的 SQL 查询。我的查询是:-
SELECT COUNT('user_id') FROM tbl_tickets_replies WHERE user_id IN (SELECT id from tbl_users WHERE username IN (SELECT username FROM tbl_tickets WHERE site_referers_id =1))
我在我的模型中这样做
function getCommentNumbers() {
$sql = "SELECT COUNT('user_id') FROM tbl_tickets_replies WHERE user_id IN (SELECT id from tbl_users WHERE username IN (SELECT username FROM tbl_tickets WHERE site_referers_id =1))";
return $this->db->query($sql);
}
如何使用活动记录来完成
它不工作:(
我有三个不同的表,它们是:-
tbl_users(id,username);
tbl_tickets(id,username,site_referers_id)
tbl_tickets_replies(id,user_id,comments)
我想要做的是选择属于具有 site_referers_id=1 的特定用户名的所有评论。我想从具有 site_referes_id =1 的 tbl_tickets 中选择不同的用户名,然后从 tbl_users 获取所选用户名的 id 并使用该 id 来计算他有多少评论并根据用户名显示它。我的查询没有这样做,它显示所有用户的总评论,即假设有两个用户 A 和 B,用户 id 1 和 2 有 10 和 15 条评论,那么它应该显示如下:
A 10
B 15
而是我的查询显示
A
B 25