laravel - "'SELECT s.id AS 'Salarie.id', s.nom AS 'Salarie.nom', COALESCE(p' on line 1'附近的语法错误
问题描述
我有 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
高级表
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 ...
薪水控制器.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);
}
解决方案
推荐阅读
- ruby-on-rails - 是否可以在 rpush 中从后端设置通知样式?
- rust - 如何在不丢弃锁的情况下解锁 rwlock
- boxing - 在 c# 中取消装箱时出现错误,说明当前上下文中不存在名称?
- mongodb - 如何使用Mongodb过滤数组是否包含两个数字之间的值?
- python - If语句将生成5个总和为210的随机数,然后将这些数字写入excel openpyxl
- css - 如何在 React 中覆盖 Layout 组件的样式?
- angular - iframe 不断刷新所有操作(滚动、单击等)
- r - 使用 if() 更改对象名称
- html - 为什么使用 display: flex 时 css 字体大小会发生变化;
- reactjs - 如何在需要时停止反应材料表加载器