这是我所拥有的查询,据我所知,它应该是正确的,除了我不确定如何使用建筑物作为公共字段组合表。
SELECT l.building AS "BUILD", NVL(NUMSECTIONS, 0) AS "NUMSECTIONS"
FROM location l
LEFT OUTER JOIN
(SELECT building AS "BUILD", COUNT(*) AS "NUMSECTIONS"
FROM location l
INNER JOIN sections e
ON l.locationid = e.locationid
INNER JOIN courses c
ON e.courseid = c.courseid
WHERE subjectcode IN ('CS', 'NET', 'WEB', 'MATH', 'ENGL', 'HIST', 'ZOOL', 'ART', 'COMM', 'BSAD')
GROUP BY building)s
ON l.building = s.building
将内部表中的building赋值为s.building似乎不起作用,因为我需要它
如果你的查询抛出一个错误,s.building不存在,这肯定是因为在你的子查询中,building列被别名为'BUILD',所以你应该加入l.building和s."BUILD"