2015-01-31 102 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

相关问题