MySQL - 视图的 SELECT 在 FROM 子句中包含一个子查询

MySQL - View's SELECT contains a subquery in the FROM clause

我目前是第一次使用 mysql 和 Views,我很熟悉它,但是当我执行这个 SQL-语句时,我 运行 出错了。遗憾的是我还找不到解决方案。它说该视图包含一个子查询,但我看不到或实现此语句中的任何子查询。

我指的是这个post:Adding extra column to view, which is not present in table

那里的人正在使用类似的代码并且对他来说它正在工作,不知道为什么它不在我的示例中。我也查看了 Whosebug 并看到了很多相同的错误,但是子查询在其他主题中非常明显。

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 子句

中包含一个子查询

这在 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
  );