ここで SECTION_ID AS SECTIONS と ENROLL_DATE AS STUDENTS を数えようとしていますが、セクション列からではなく、学生列から正しい結果を得ています。ENROLLMENT テーブルからではなく、SECTION テーブルから SECTION_ID のみが必要なので、マイナス セット操作を行いました。両方のテーブルから結果が得られるのはなぜですか? SECTION テーブルからのみ結果を取得するにはどうすればよいですか?
SELECT s.LOCATION,COUNT(s.SECTION_ID) AS SECTIONS, COUNT(e.ENROLL_DATE) AS STUDENTS
FROM SECTION s
JOIN ENROLLMENT e
ON s.SECTION_ID = e.SECTION_ID
WHERE EXISTS (
SELECT SECTION_ID
FROM SECTION
MINUS
SELECT SECTION_ID
FROM ENROLLMENT
)
AND s.SECTION_ID = e.SECTION_ID
GROUP BY s.LOCATION
ORDER BY s.LOCATION;
私はこの結果を得ています
LOCATION SECTIONS STUDENTS
---------- ---------- ----------
H310 1 1
L206 8 8
L210 29 29
L211 10 10
L214 36 36
etc
欲しい結果
LOCATION SECTIONS STUDENTS
---------- ---------- ----------
H310 1 1
L206 1 8
L210 10 29
L211 3 10
L214 15 36
etc