这就是我所拥有的:
SELECT
SUBJECT_ID, SUM(SOMETABLE.COLUMN) AS HOURS, POINTS, SEMESTER_ID
FROM
SOME_TABLES
WHERE
(GROUP = (SELECT TOP (1) GROUP
FROM SOMETABLE2
WHERE (STUDENT_ID = 123)))
GROUP BY
SUBJECT_ID, POINTS, SEMESTER_ID
HAVING
(SUBJECT_ID = 782)
Run Code Online (Sandbox Code Playgroud)
此查询返回:
我需要得到这个结果:
为了得到这个结果我正在使用这个查询:
SELECT
SUBJECT_ID, SUM(SOMETABLE.COLUMN) AS HOURS,
SUM(SOMETABLE3.COLUMN) AS POINTS, SEMESTER_ID
FROM
SOME_TABLES
WHERE
(GROUP = (SELECT TOP (1) GROUP
FROM SOMETABLE2
WHERE (STUDENT_ID = 123)))
GROUP BY
SUBJECT_ID, SEMESTER_ID
HAVING
(SUBJECT_ID = 12)
Run Code Online (Sandbox Code Playgroud)
但它返回时SUM没有包含GROUP BY声明 - 就像第二次截图一样,但有两次有16点,而每学期应该有两行8点.
如何获得SEMESTER_ID的正确点?在这篇文章中有评论样本数据的脚本.