SQL-缺少FROM子句
使用嵌套的select语句时,如何在select语句中添加其他列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
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多年前),旧样式的逗号分隔表列表样式被正确的ANSIJOIN
语法所取代,不鼓励使用它