mysql - Laravel 5 中使用查询生成器进行复杂查询(具有三级子查询)?

标签 mysql laravel subquery

我有这样的查询:

SELECT p.*, t3.gambar_meteran, t3.angka_meteran 
    from pelanggan p 
LEFT JOIN (SELECT t1.* 
    FROM tagihan t1 
        JOIN (SELECT no_rek_pelanggan, MAX(created_at) created_at 
            FROM tagihan
            GROUP BY no_rek_pelanggan) t2
        ON t1.no_rek_pelanggan = t2.no_rek_pelanggan 
        AND t1.created_at = t2.created_at) t3
        ON p.no_rek = t3.no_rek_pelanggan`

如何在 Laravel 5.2 中使用复杂的查询?

我尝试了很多方法,例如使用DB::rawDB:statement等。

最佳答案

我用它解决了这个问题:

$temptable=DB::raw("(SELECT t1.* 
           FROM tagihan t1 
           JOIN (SELECT no_rek_pelanggan, MAX(created_at) created_at 
                 FROM tagihan 
                 GROUP BY no_rek_pelanggan) t2 
           ON t1.no_rek_pelanggan = t2.no_rek_pelanggan 
           AND t1.created_at = t2.created_at)  as t3");

        $query = DB::table('pelanggan as p')
        ->select('p.*','t3.gambar_meteran')
        ->leftJoin($temptable,'p.no_rek','=','t3.no_rek_pelanggan')
        ->get();

`

关于mysql - Laravel 5 中使用查询生成器进行复杂查询(具有三级子查询)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37902156/

相关文章:

PHP插入\到sql表

php - 如何解决 Laravel 中的数据更新错误

php - 限制自己免于重载外部 API 的速率

mysql - 如何提高 mysql 查询执行性能

mysql - 我如何将选定的查询作为别名用于另一个子查询?

mysql - 检测邮寄地址相似度

php - 我们如何烘焙 cakephp 上的查找字段?

C# 创建数据库类

php - 选择日期为现在的所有行

mySQL - 来自不同行的总和值,其中不同列中的两个值匹配