查询仅在 WITH ... AS 语句内时不起作用
query not working only when inside WITH ... AS statement
我有一个非常困难的查询要问,所以我想使用 WITH ... AS 语法将其分解为更小的步骤。我正在尝试构建一个虚拟查询来了解它是如何工作的,它基本上选择属于某个公司的电台,然后再次选择所有内容。
WITH company_stations AS (
SELECT * FROM Station WHERE Station.stationProvider = 'olympia_odos'
) SELECT * FROM company_stations;
内部查询本身运行良好
SELECT * FROM Station WHERE Station.stationProvider = 'olympia_odos'
但是当我在 with as 语句中使用它时,它给了我非常有用的错误消息
ERROR 1064 (42000):您的 SQL 语法有误;查看与您的 MySQL 服务器版本相对应的手册,了解在第 1
行 'company_stations AS (SELECT stationName FROM Station WHERE Station.stationProvid' 附近使用的正确语法
我尝试搜索错误 1064 (42000),但似乎遇到此错误的每个人都在构建、填充或访问数据库的过程中。这些我都做了,但是具体查询好像有问题
我还尝试了所有常见的嫌疑人,例如 ' or " or `, ( or no ( etc.
CTE 表达式在 MySQL 8.0 之前不受支持
您可以改用子查询:
SELECT * FROM (
SELECT * FROM Station WHERE Station.stationProvider = 'olympia_odos'
) AS company_stations;
我有一个非常困难的查询要问,所以我想使用 WITH ... AS 语法将其分解为更小的步骤。我正在尝试构建一个虚拟查询来了解它是如何工作的,它基本上选择属于某个公司的电台,然后再次选择所有内容。
WITH company_stations AS (
SELECT * FROM Station WHERE Station.stationProvider = 'olympia_odos'
) SELECT * FROM company_stations;
内部查询本身运行良好
SELECT * FROM Station WHERE Station.stationProvider = 'olympia_odos'
但是当我在 with as 语句中使用它时,它给了我非常有用的错误消息
ERROR 1064 (42000):您的 SQL 语法有误;查看与您的 MySQL 服务器版本相对应的手册,了解在第 1
行 'company_stations AS (SELECT stationName FROM Station WHERE Station.stationProvid' 附近使用的正确语法我尝试搜索错误 1064 (42000),但似乎遇到此错误的每个人都在构建、填充或访问数据库的过程中。这些我都做了,但是具体查询好像有问题
我还尝试了所有常见的嫌疑人,例如 ' or " or `, ( or no ( etc.
CTE 表达式在 MySQL 8.0 之前不受支持 您可以改用子查询:
SELECT * FROM (
SELECT * FROM Station WHERE Station.stationProvider = 'olympia_odos'
) AS company_stations;