Mysql
 sql >> Baza danych >  >> RDS >> Mysql

podzapytanie z join w laravel

spróbuj wysłać podzapytanie jako surowe wyrażenie jako pierwszy parametr w leftJoin() metoda, na przykład:

$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()

w tych pytaniach są podobne przykłady:

Narzędzie do tworzenia zapytań Laravel Fluent Dołącz za pomocą podzapytania

Jak pisać to (left join, subquery ) w Laravel 5.1?

więcej informacji o przyłączeniach:https://laravel.com/docs/5.5/queries#joins



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wygeneruj losową LocalDate z java.time

  2. Powolne wyszukiwanie według zapytania indeksu LIKE% MYSQL

  3. Co może spowodować, że mysql db read zwraca nieaktualne dane?

  4. Mysql wybierający z dwóch tabel

  5. Używanie Pythona i MySQL w procesie ETL