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);
}
アクティブなレコードを使用してこれを行う方法
動いていない :(
私は3つの異なるテーブルを持っています:-
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を使用してコメントの数をカウントし、ユーザー名に従って表示することを考えました。私のクエリはそうしていません。すべてのユーザーの合計コメントを表示しています。つまり、ユーザーID 1と2に10と15のコメントがある2人のユーザーAとBがいるとすると、次のように表示されます。
A 10
B 15
むしろ私のクエリが表示されています
A
B 25