问题描述
我有SQL查询,该查询可以在原始sql中正常工作,但不能在查询生成器中工作
where a.price = '399' and
b.seq=(select max(seq) from sells_2020 where pa_no=a.pa_no)
order by a.pa_no
这在sql中工作正常,但在“查询”构建器中却无法 我尝试这个,
->where('a.price',399)
->where('b.seq','=',DB::raw('select max(seq) from sells_2020 where pa_no=a.pa_no'))
->OrderBy('a.pa_no')
解决方法
我认为您只需要像在原始sql中一样添加括号,并添加orderBy 以小“ o”开头。
现在您内部的原始sql查询应该返回一个结果:
->where('a.price',399)
->where('b.seq','=',DB::raw('(select max(seq) from sells_2020 where pa_no=a.pa_no)'))
->orderBy('a.pa_no')->get();