laravel利用subquery使左連接查詢右表數據唯一查詢


如:表a,連接表b,b中有多條符合查詢的記錄

1、建立需要的子查詢

  $sub = DB::table('b')->select(['aid'])->selectRaw('max(id) as id')->grouBy('id');

 

2、建立連接查詢

  $_list = DB::table('a')->leftJoin(DB::raw('({$sub->toSql()}) as b),'a.id','=','b.aid)->get()

這樣就可以使得左連接查詢中右表記錄只查詢一條,避免左表記錄重復出現。這里在只是篩選右表中第一條,其它條件暫時還沒有實現。

開發中遇到的問題,先記錄一下,防止以后再次出現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM