У меня есть 3 таблицы, таблица зарплат salaries(id, name)
и pointages table pointages(id, datep, salarie_id, sold)
и avances table avances(id, datea, montantA, salarie_id)
.
таблица зарплат
Id name
1 kamal
2 imad
таблица пошлин
id datep Salarie_id sold
1 11/03/2020 1 120
2 05/03/2020 1 100
3 06/03/2020 2 50
4 07/03/2020 2 20
avances table
id datea montantA Salarie_id
1 11/03/2020 120 1
2 02/03/2020 50 1
по этим 3 таблицам, которые я хочу восстановить salaries.id
и salaries.name
и sum (pointages.sold)
и sum (avances.montantA)
вот так
Salarie.id Salaries.nom Sum(sold) Sum(montantA)
1 kamal 220 170
2 imad 70 0
У меня есть mysql запрос позволяет восстановить правильные данные и суммы, я хочу написать эту функцию с помощью laravel (механизм запросов), но я не знаю, как тогда я помещаю свой запрос непосредственно в etatq1u function
контроллера, но это дает мне эта ошибка: Erreur de syntaxe près de "'SELECT s.id AS 'Salarie.id', s.nom AS 'Salarie.nom', COALESCE(p' à la ligne 1 ...
SalarieController. php
public function etatq1u(request $request){
$dataP = DB::select('"SELECT
s.id AS Salarie.id,
s.nom AS Salarie.nom,
COALESCE(p.somme, 0) AS SUM(sold),
COALESCE(a.somme, 0) AS SUM(montantA
FROM
Salaries s
LEFT JOIN (SELECT SUM(sold) AS somme, salarie_id FROM pointages GROUP BY salarie_id) AS p ON p.salarie_id = s.id
LEFT JOIN (SELECT SUM(montantA) AS somme, salarie_id FROM avances GROUP BY salarie_id) AS a ON a.salarie_id = s.id
GROUP BY s.id, p.salarie_id, a.salarie_id"');
return response($dataP);
}