我有一個非常困難的查詢,所以我想使用 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”) 附近使用的正確語法
我嘗試搜索 ERROR 1064 (42000),但似乎遇到此錯誤的每個人都在構建、填充或訪問資料庫的程序中。這些事情我都做了,但是具體的查詢好像有問題。
我還嘗試了所有常見的懷疑物件,例如 ' 或 " 或 `, ( 或 no ( 等。
uj5u.com熱心網友回復:
MySQL 8.0 之前不支持 CTE 運算式,您可以使用子查詢:
SELECT * FROM (
SELECT * FROM Station WHERE Station.stationProvider = 'olympia_odos'
) AS company_stations;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/401816.html
