2015-01-31 101 views
0

我目前正在第一次使用mysql和Views,但是當我執行這個SQL語句時遇到了一個錯誤。我很遺憾找不到解決方案。它表示該視圖包含一個子查詢,但我無法在此聲明中看到或實現任何子查詢。MySQL - 視圖的SELECT在FROM子句中包含一個子查詢

我指的這個帖子:Adding extra column to view, which is not present in table

這傢伙有使用類似的代碼,併爲他這是工作,不知道爲什麼它是不是在我的例子。我也通過Stackoverflow看了一遍,看到了一個相同的錯誤負載,但子查詢在其他主題中非常明顯。

CREATE OR REPLACE VIEW 
`Worker_!view` AS 
SELECT * FROM 
(
    SELECT `Working_!skill`, 
    'asdf_!electrical' charserver 
    FROM `asdf_!electrical` 
    WHERE 1 ORDER BY `id` DESC LIMIT 1 
    UNION 
    SELECT `Working_!skill`, 'fred_!electrical' charserver 
    FROM `fred_!electrical` WHERE 1 ORDER BY `id` DESC LIMIT 1 
); 

#1349 - 視圖的SELECT語句包含在FROM子句中

+0

的可能的複製[MySQL的:查看與子查詢在FROM子句限制(http://stackoverflow.com/questions/206062/mysql-view-with-subquery-in-從條款限制) – 2017-02-02 07:48:34

回答

1

這並不在MySQL的子查詢。相反,你可以這樣做:

CREATE OR REPLACE VIEW `Worker_!view` AS 
    (SELECT `Working_!skill`, 'asdf_!electrical' charserver 
    from `asdf_!electrical` 
    WHERE 1 ORDER BY `id` DESC 
    LIMIT 1 
    ) 
    UNION ALL 
    (SELECT `Working_!skill`, 'fred_!electrical' charserver 
    FROM `fred_!electrical` 
    WHERE 1 
    ORDER BY `id` DESC 
    LIMIT 1 
); 
+0

哦該死的權利。這是針對oracle的SQL語言。很快就會測試,謝謝! – 2015-01-31 19:23:36

相關問題