mysql 使用嵌套右联接构建Laravel查询

ruoxqz4g  于 2022-10-31  发布在  Mysql
关注(0)|答案(1)|浏览(145)

我有一个有效的查询,但我需要将其放入查询生成器:

RIGHT JOIN (tlkpSUDesc RIGHT JOIN tblSU ON tlkpSUDesc.SUDescCode = tblSU.SUDescCode) ON tlkpSUTyp.SUTypCode = tblSU.SUTypCode

我知道怎么做了。我试过了:

->rightJoin('tlkpSUDesc', function($join) {
$join->on('tblSU', 'tlkpSUDesc.SUDescCode', '=', 'tblSU.SUDescCode');
}
'tlkpSUTyp.SUTypCode', '=', 'tblSU.SUTypCode')

但没用我也试过

->rightJoin('tlkpSUDesc', 'tlkpSUTyp.SUTypCode', '=', 'tblSU.SUTypCode')
->rightJoin('tblSU', 'tlkpSUDesc.SUDescCode', '=', 'tblSU.SUDescCode')

但那也不管用。
谢谢你!

xytpbqjk

xytpbqjk1#

我同意@matiaslauriti的观点,使用原始表达式并没有什么错。但是,既然你问了,而且可以用查询构建器来完成,那么试试这个:

$query = \DB::query();

$query->rightJoin('tlkpSUDesc', function ($query) {
  $query->rightJoin('tblSu', 'tlkpSUDesc.SUDescCode', '=', 'tblSU.SUDescCode')->on(
    'tlkpSUTyp.SUTypCode', '=', 'tblSU.SUTypCode');
})->toSql();

相关问题