1
我一直在处理这种情况3天...有人可能会为我提供一个解决方案,以便在下面创建查询报告。查询在laravel上连接3个表
我有3个表:
applicants
-id
-user_id
-name
-province_id
applications
-id
-user_id
-university_id
provinces
-id
-province_name
我查询的目标是每个省对高校提供全面的申请人。下面是该查询
下面的表格是我对MySQL查询:
select provinces.province_name, count(applicants.id) from provinces left join applicants on provinces.id = applicants.province_id join applications on applications.user_id = applicants.user_id-- where applications.university_id = 1 group by provinces.id;
这是我的雄辩:
$output = DB::table('provinces')
->select(['provinces.province_name', DB::raw('count(applicants.id) as total'), 'provinces.id'])
->leftJoin('applicants', 'provinces.id','=', 'applicants.province_id')
->leftJoin('applications', 'applications.user_id','=','applicants.user_id')
->where('university_id',$id)
->groupBy('provinces.id')
->get();
这是样品当前查询:
这是我的期望:
请给出了答案无论是在MySQL或雄辩。谢谢!
我用同样的办法。但是当我根据university_id添加的时候,数据并没有显示该省是否没有大学,相反,他们仅在count> 0的时候才列出该省。 – indi60
是的,是的,因为那么您的第一次选择如果该省没有大学,则返回NULL。现在的方式只有在找到一些数据时才会起作用。如果你把这个NULL变成0,它应该可以工作:) –
你能否详细说明你的语句“把NULL变成0? – indi60