是否可以在Laravel 5查询生成器中用另一个表JOIN
子选择?
我的意思是 - 理论上 - 像这样:
$sub = DB::table('A')->select(DB::Raw('id, MAX(date)'))->groupBy('id')->get();
$query = DB::table('B')->join($sub, 'B.id', '=', $sub->id)->get();
就我而言,在表 A 中我重复了行。我需要每id
最多date
的那些.然后我需要将结果与表 B 连接起来。
根据评论中的建议,解决方法如下。
$idArray= DB::table('A')->select(DB::Raw('id, MAX(date)'))->groupBy('id')->lists('id');
$query = DB::table('B')->whereIn('id', $idArray)->get();
但是,同样,这只是一种解决方法。