sql >> Database >  >> RDS >> Mysql

subquery met join in laravel

probeer de subquery als een onbewerkte expressie te verzenden als de eerste parameter in de leftJoin() methode, bijvoorbeeld:

$subquery = '(SELECT 
                    usr_log1.*
                FROM
                    users_log_logradouro AS usr_log1
                LEFT JOIN 
                    users_log_logradouro AS usr_log2 
                    ON usr_log1.user_id = usr_log2.user_id
                    AND usr_log1.created_at < usr_log2.created_at
                WHERE
                    usr_log2.user_id IS NULL) 
                AS temp';

    DB::table('users as usr')
        ->select(...)
        ->leftJoin(DB::raw($subquery), 'usr.id', '=', 'temp.user_id')
        ->leftJoin(...)
        ->join(...)
        ->join(...)
        ->join(...)
        ->leftJoin(...)
        ->leftJoin(...)
        ->leftJoin(...)
        ->where(...)
        ->get()

er zijn vergelijkbare voorbeelden in deze vragen:

Laravel Fluent Query Builder Doe mee met subquery

Hoe te schrijven dit (links join, subquery ) in Laravel 5.1?

meer info abaut sluit zich aan:https://laravel.com/docs/5.5/queries#joins



  1. Postgres db-ontwerp Normaliseer tabellen of gebruik matrixkolommen

  2. GROUP BY of COUNT Like Field Values ​​- UNPIVOT?

  3. Het verzenden van HTML-e-mail resulteert in e-mail met HTML-bron (Codeigniter-e-mailklasse)

  4. Een script om alle tabellen en velden te wijzigen in de utf-8-bin-sortering in MYSQL