我有一个查询让我们看一下,
DB::table('states')
->join('brands', 'brands.state_id', '=', 'states.state_id')
->join('cities', 'cities.state_id', '=', 'states.state_id')
->select(
'state_name',
DB::raw("(COUNT('cities.city_id')) as cities"),
DB::raw("count('brands.brand_id') as brands")
)
->groupBy('state_name')
->get();
我想从states
表中得到state_name
&计数状态下的cities
和brands
。但在这些查询中,问题是城市计数& &;品牌数量也显示了同样的结果。我怎样才能解决这个问题呢?
将join(...
(INNER JOIN)更改为leftJoin(...
(LEFT JOIN)。