SQL-缺少FROM子句

SQL-缺少FROM子句,sql,postgresql,Sql,Postgresql,使用嵌套的select语句时,如何在select语句中添加其他列 SELECT MAX (mycount), people.name FROM (SELECT people.name a, COUNT(course_staff.staff) mycount FROM course_staff, people WHERE course_staff.staff = people.id GR

使用嵌套的select语句时,如何在select语句中添加其他列

SELECT 
     MAX (mycount), people.name
FROM 
    (SELECT 
         people.name a, COUNT(course_staff.staff) mycount
     FROM 
         course_staff, people
     WHERE 
         course_staff.staff = people.id
     GROUP BY 
         course_staff.staff,people.name) AS foo;
错误

表“people”的子句条目中缺少
第1行:选择MAX(mycount),people.name


我还想添加people.name

当您对
from
子句使用
子查询
时,尝试将其别名,并对
select
子句使用
别名
前缀,同时您还必须在外部查询中对select语句使用子查询的别名:

SELECT MAX (foo.mycount), foo.a
FROM (SELECT people.name a, -- use "a" also for outer query for column name
             COUNT(course_staff.staff) mycount -- use "mycount" in outer query
      FROM course_staff, people
      WHERE course_staff.staff = people.id
      GROUP BY people.name
     ) AS foo
GROUP BY foo.a

嗯,你给
人的别名是
a
。name
,所以改用这个名字。另外,你在计算课程的教职员工。教职员工,但也按它分组,这样做有什么意义在ANSI-92 SQL标准中(20多年前),旧样式的逗号分隔表列表样式被正确的ANSI
JOIN
语法所取代,不鼓励使用它