我想为以下场景创建一个sql查询。
我有3个表request
,contract_template
和contract_type
。
Request
表的外键为contract_template_id
,contract_template
为外键contract_type_id
。我想根据请求表中的记录来计算每种合同类型。
这是我到目前为止所尝试的:
$data['contractStatus'] = DB::table('request') -> join('configuration', 'request.contract_status_id', '=', 'configuration.id') ->join('contract_template', 'request.contract_template_id', '=', 'contract_template.id') ->join('contract_type', 'contract_template.contract_type_id', '=', 'contract_type.id') ->select('contract_type.name', 'configuration.value')->groupBy('contract_type.name', 'configuration.value')->get();
答案 0 :(得分:1)
我认为这是你所期待的,据我所知你的问题,你想要一个SQL查询。请检查以下查询。
select contract_type.name,count(contract_type.name) from request
inner join contract_template on request.contract_template_id =contract_template.contract_template_id
inner join contract_type on contract_template.contract_type_id =contract_type.contract_type_id
group by contract_type.name