计算日期范围内参与的小时数总和
Make the sum of the hours participated in the date range
借助一些辅助工具,我能够完成这个 selection,但我需要添加时间而不是重复学生,并且当学生没有参加该日期范围时显示零结果:
**students TABLE**
s_id
s_laname
s_mname
s_fname
s_grupo
**horas TABLE**
id
s_id
horas
fecha
grupo
SELECT students.s_lname, horas.horas
FROM students
LEFT JOIN horas ON students.s_id=horas.s_id
and horas.fecha >= '2020-11-01'
AND horas.fecha <= '2020-11-30'
AND horas.horas >'0'
WHERE students.s_grupo IN('11')
这是我发布的 select 的结果,但我需要它来计算小时数:
s_lname horas
Molina 12
Mejías 12
Corrales 10
Sáenz 15
Castro 11
Hernandez 11
Sáenz 12
Hernandez 6
Hernandez 6
Sáenz 12
Brizuela NULL
Vargas NULL
Acuña NULL
Jiménez NULL
López. NULL
Jimenez NULL
Vargas NULL
Navarro NULL
这就是我所需要的,有总学时但没有参加过的学生填NULL或零:
s_lname horas
Molina 12
Mejías 12
Corrales 10
Sáenz 39
Castro 11
Hernandez 33
Brizuela NULL
Vargas NULL
Acuña NULL
Jiménez NULL
López NULL
Jimenez NULL
Vargas NULL
Navarro NULL
听起来您可以添加不同的关键字并使用内部联接而不是左联接:
编辑:根据你的结果和你想要的结果,我猜你想总结结果,如果那是真的那么....
SELECT students.s_lname, SUM(horas.horas)
FROM students
LEFT JOIN horas ON students.s_id=horas.s_id
and horas.fecha >= '2020-11-01'
AND horas.fecha <= '2020-11-30'
AND horas.horas >'0'
WHERE students.s_grupo IN('11')
Group by students.s_id
借助一些辅助工具,我能够完成这个 selection,但我需要添加时间而不是重复学生,并且当学生没有参加该日期范围时显示零结果:
**students TABLE**
s_id
s_laname
s_mname
s_fname
s_grupo
**horas TABLE**
id
s_id
horas
fecha
grupo
SELECT students.s_lname, horas.horas
FROM students
LEFT JOIN horas ON students.s_id=horas.s_id
and horas.fecha >= '2020-11-01'
AND horas.fecha <= '2020-11-30'
AND horas.horas >'0'
WHERE students.s_grupo IN('11')
这是我发布的 select 的结果,但我需要它来计算小时数:
s_lname horas
Molina 12
Mejías 12
Corrales 10
Sáenz 15
Castro 11
Hernandez 11
Sáenz 12
Hernandez 6
Hernandez 6
Sáenz 12
Brizuela NULL
Vargas NULL
Acuña NULL
Jiménez NULL
López. NULL
Jimenez NULL
Vargas NULL
Navarro NULL
这就是我所需要的,有总学时但没有参加过的学生填NULL或零:
s_lname horas
Molina 12
Mejías 12
Corrales 10
Sáenz 39
Castro 11
Hernandez 33
Brizuela NULL
Vargas NULL
Acuña NULL
Jiménez NULL
López NULL
Jimenez NULL
Vargas NULL
Navarro NULL
听起来您可以添加不同的关键字并使用内部联接而不是左联接:
编辑:根据你的结果和你想要的结果,我猜你想总结结果,如果那是真的那么....
SELECT students.s_lname, SUM(horas.horas)
FROM students
LEFT JOIN horas ON students.s_id=horas.s_id
and horas.fecha >= '2020-11-01'
AND horas.fecha <= '2020-11-30'
AND horas.horas >'0'
WHERE students.s_grupo IN('11')
Group by students.s_id