繁体   English   中英

内连接到右表仅一行

[英]Elequent inner join to only one line from right table

我需要首先连接多个表,所有表都具有相同数量的行,并且可以完美连接。 但是加入最后一行的行,除了添加的日期外,这两行的行完全相同,因此将我的数据复制到每个用户的月数。 是否可以只加入其中一条线。 哪一个都没关系。

$rekeninge = DB::connection('odbc')
->table($this->mgk . '.D000M00L')
->leftJoin($this->div . '.D050M00P', $this->div . '.D050M00P.RKNR', '=', $this->mgk . '.D000M00L.RKNR')
->leftJoin($this->mgk . '.VFDIND00P', $this->mgk . '.VFDIND00P.F06', '=', $this->mgk . '.D000M00L.RKNR')
->leftJoin($this->mgk . '.VINDEXP', $this->mgk . '.VINDEXP.VNAAM', '=', $this->mgk . '.VFDIND00P.VFDVELDID')
->where([
    'F02' => 'A',
    'F165' => 'D'
])
->get();

先感谢您

您需要by以下任一列对结果进行group

https://laravel.com/docs/5.4/queries#ordering-grouping-limit-and-offset

因此您的查询最终将如下所示:

$rekeninge = DB::connection('odbc')
->table($this->mgk . '.D000M00L')
->leftJoin($this->div . '.D050M00P', $this->div . '.D050M00P.RKNR', '=', $this->mgk . '.D000M00L.RKNR')
->leftJoin($this->mgk . '.VFDIND00P', $this->mgk . '.VFDIND00P.F06', '=', $this->mgk . '.D000M00L.RKNR')
->leftJoin($this->mgk . '.VINDEXP', $this->mgk . '.VINDEXP.VNAAM', '=', $this->mgk . '.VFDIND00P.VFDVELDID')
->where([
    'F02' => 'A',
    'F165' => 'D'
])
->groupBy('month')
->get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM