Postgresql 错误:表“”的子句条目中缺少;电影";

Postgresql 错误:表“”的子句条目中缺少;电影";,postgresql,Postgresql,我是SQL新手,需要查询数据库以提取某些信息,然后才能将其导入我熟悉的另一个软件以分析数据。此查询是由我目前无法访问的朋友发送给我的,我无法理解为什么会出现以下错误: ERROR: missing FROM-clause entry for table "movies" LINE 8: FROM (SELECT movies.movieid 以下是查询: SELECT innerselect.movieid ,innerselect.title ,innersel

我是SQL新手,需要查询数据库以提取某些信息,然后才能将其导入我熟悉的另一个软件以分析数据。此查询是由我目前无法访问的朋友发送给我的,我无法理解为什么会出现以下错误:

ERROR:  missing FROM-clause entry for table "movies"
LINE 8: FROM (SELECT movies.movieid
以下是查询:

SELECT innerselect.movieid
       ,innerselect.title
       ,innerselect.year
       ,innerselect.imdbid
       ,innerselect.budget[1] AS budget_currency
       ,TO_NUMBER(innerselect.budget[2], '999999999999990.00') AS budget_total
       ,innerselect.businesstext
FROM (SELECT movies.movieid
       ,movies.title
       ,movies.year
       ,movies.imdbid
       ,business.businesstext
       ,regexp_matches(business.businesstext, '^BT:[ ](USD)[ ](-?(?!0)(?:\d+|\d{1,3}(?:,\d{3})+))', 'g') AS budget -- creates a PostgreSQL Array which contains the content matched with the RegEx Groups FROM movies LEFT JOIN business ON movies.movieid=business.movieid WHERE movies.movieid > 2753500
) AS innerselect

任何帮助都将不胜感激

问题是,您将FROM放在与注释相同的行上,因此FROM子句被忽略

SELECT innerselect.movieid
       ,innerselect.title
       ,innerselect.year
       ,innerselect.imdbid
       ,innerselect.budget[1] AS budget_currency
       ,TO_NUMBER(innerselect.budget[2], '999999999999990.00') AS budget_total
       ,innerselect.businesstext
FROM (SELECT movies.movieid
       ,movies.title
       ,movies.year
       ,movies.imdbid
       ,business.businesstext
       ,regexp_matches(business.businesstext, '^BT:[ ](USD)[ ](-?(?!0)(?:\d+|\d{1,3}(?:,\d{3})+))', 'g') AS budget -- creates a PostgreSQL Array which contains the content matched with the RegEx Groups
      FROM movies LEFT JOIN business ON movies.movieid=business.movieid WHERE movies.movieid > 2753500
) AS innerselect

问题是您将FROM与注释放在同一行,因此FROM子句被忽略

SELECT innerselect.movieid
       ,innerselect.title
       ,innerselect.year
       ,innerselect.imdbid
       ,innerselect.budget[1] AS budget_currency
       ,TO_NUMBER(innerselect.budget[2], '999999999999990.00') AS budget_total
       ,innerselect.businesstext
FROM (SELECT movies.movieid
       ,movies.title
       ,movies.year
       ,movies.imdbid
       ,business.businesstext
       ,regexp_matches(business.businesstext, '^BT:[ ](USD)[ ](-?(?!0)(?:\d+|\d{1,3}(?:,\d{3})+))', 'g') AS budget -- creates a PostgreSQL Array which contains the content matched with the RegEx Groups
      FROM movies LEFT JOIN business ON movies.movieid=business.movieid WHERE movies.movieid > 2753500
) AS innerselect