我正在使用Postgresql 8.2进行快速查询,之前我已经完成了一千次这样的查询,但我无法弄清楚为什么我会收到此错误。我可能错过了一些明显的东西,但它说我的“FROM中的子查询必须有一个别名”。我的子查询“内部”有一个别名,我无法弄清楚为什么我会收到错误。
SELECT "Branch", "Zip_5", "CountofStops", avg("EarlyTime") As
"Average_Arrival_Time"
FROM
(SELECT branch_id as "Branch", substring(stop_zip_postal_code, 1, 5) as
"Zip_5", count(stop_name) as "CountofStops", min(actual_arrival_time) as
"EarlyTime"
FROM distribution_stop_information
WHERE company_no = '001' AND route_date > '3/13/2017'
GROUP BY branch_id, stop_zip_postal_code)
inner
GROUP BY "Branch", "Zip_5"
ORDER BY Zip_5
********** Error **********
ERROR: subquery in FROM must have an alias
SQL state: 42601
Hint: For example, FROM (SELECT ...) [AS] foo.
答案 0 :(得分:2)
inner
是保留关键字。使用其他名称作为别名。
答案 1 :(得分:0)
inner
。 。 。想想“内心的联系”。你需要一个更好的别名。
SELECT Branch, Zip_5, CountofStops, avg(EarlyTime) As Average_Arrival_Time
FROM (SELECT branch_id as Branch, left(stop_zip_postal_code, 5) as Zip_5,
count(stop_name) as CountofStops,
min(actual_arrival_time) as EarlyTime
FROM distribution_stop_information
WHERE company_no = '001' AND route_date > '2017-03-13'
GROUP BY branch_id, stop_zip_postal_code
) b
GROUP BY Branch, Zip_5
ORDER BY Zip_5;
注意:
LEFT()
是substring( . . ., 1, . . .)