Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不允许使用SQL子选择组函数_Sql_Oracle_Select_Subquery_Correlated Subquery - Fatal编程技术网

不允许使用SQL子选择组函数

不允许使用SQL子选择组函数,sql,oracle,select,subquery,correlated-subquery,Sql,Oracle,Select,Subquery,Correlated Subquery,我在SQL子查询中遇到了一个问题:我需要编写一个查询,返回订阅数(count(employeeNumber))大于允许的最大订阅数(maximum)的课程 在我的原始查询中,我遇到以下错误: 此处不允许使用组函数 查询: SELECT c.CourseName FROM courses c INNER JOIN subscriptions s ON s.courseCode = c.CourseCode INNER JOIN plannedCourses p ON p.CourseCode

我在SQL子查询中遇到了一个问题:我需要编写一个查询,返回订阅数(count(employeeNumber))大于允许的最大订阅数(maximum)的课程

在我的原始查询中,我遇到以下错误: 此处不允许使用组函数

查询:

SELECT c.CourseName 
FROM courses c 
INNER JOIN subscriptions s ON s.courseCode = c.CourseCode 
INNER JOIN plannedCourses p ON p.CourseCode = s.CourseCode
WHERE COUNT(s.EmployeeNumber) > (SELECT maximum 
                                 FROM plannedCourses 
                                 WHERE s.CourseCode = p.CourseCode);
表格布局:

我怎样才能达到渴望的结果


提前谢谢

您的查询有多个问题。您使用的是相关子查询,但未使用其
from
子句中的表。我认为目的是:

SELECT c.CourseName 
FROM courses c 
INNER JOIN subscriptions s ON s.courseCode = c.CourseCode 
group by c.CourseName, c.CourseCode
having COUNT(s.EmployeeNumber) > (SELECT "maximum"
                                  FROM plannedCourses p
                                  WHERE c.CourseCode = p.CourseCode);

您可以按如下方式重写查询:

select c.coursename
  from courses c
  join subscriptions s
    on (s.coursecode = c.coursecode)
  join PlannedCourses p
    on (p.coursecode = c.coursecode)
  group by c.coursename 
         , p.maximum
  having count(s.Employeenumber) > p.maximum 

我得到了以下错误:“不是一个由表达式组成的组”。。。但也许我的整个问题都错了。。。顺便说一句,我正在使用Oracle数据库。您是否将
where
子句更改为
having
子句?@LaurentDeWilde。无论如何,我知道问题出在哪里了。
s.CourseCode
需要一个聚合函数。相反,我切换到
c.CourseCode
,并将其放入
组中。