sql >> データベース >  >> RDS >> Mysql

LaravelleftJoin右テーブルの最後のレコードのみ

    ここに2つのテーブルユーザーがあります および回答 ここでユーザー 左のテーブルと回答 ユーザーの回答がある正しいテーブルです。

    ユーザーに参加したかった 回答 ただし、結合は最新のレコードまたは回答で行う必要があります テーブル。

    $query = Users::select('users.id', 'users.user_name','answers.created_at as last_activity_date')
    ->leftJoin('answers', function($query) 
    {
       $query->on('users.id','=','answers.user_id')
       ->whereRaw('answers.id IN (select MAX(a2.id) from answers as a2 join users as u2 on u2.id = a2.user_id group by u2.id)');
    })
    ->where('users.role_type_id', Users::STUDENT_ROLE_TYPE)->get();
    


    1. SQL Serverで複合外部キーを作成する方法(T-SQLの例)

    2. SQLの複数形/単数形の検索

    3. mysqlテーブルをphpでロックする

    4. MySQLで結果セット全体を連結するにはどうすればよいですか?