Mysql 在with子句之后创建视图
我有一个极其复杂的问题,需要分几个步骤回答。首先,我通过运行一个sql文件(如a.sql)创建一个视图,生成的视图用于第二个sql文件(如b.sql)中的一个单独查询。在.sql文件中创建视图时遇到问题 在a.sql文件中,我尝试首先使用WITH子句,然后尝试生成一个视图,类似于下面我正在简化的视图,以便理解我做错了什么。假设我的tab表有两个字段,id和age。当我尝试执行以下操作时,出现语法错误。mysql/postgresql中不允许这样的操作吗?以下代码中我做错了什么 显然,这个特定的示例可以高效地解决,而无需使用WITH子句并直接创建视图。但我的问题的主要目的是理解WITH子句后跟CREATE视图在语法上是否被允许 任何帮助都将不胜感激。多谢各位 以aa为例 选择t.id作为id,选择t.age作为年龄 从表t 其中t.age>18 下拉视图(如果存在); 创建视图bb作为 选择a.id,a.age 来自aa a 其中a.年龄>25岁Mysql 在with子句之后创建视图,mysql,postgresql,Mysql,Postgresql,我有一个极其复杂的问题,需要分几个步骤回答。首先,我通过运行一个sql文件(如a.sql)创建一个视图,生成的视图用于第二个sql文件(如b.sql)中的一个单独查询。在.sql文件中创建视图时遇到问题 在a.sql文件中,我尝试首先使用WITH子句,然后尝试生成一个视图,类似于下面我正在简化的视图,以便理解我做错了什么。假设我的tab表有两个字段,id和age。当我尝试执行以下操作时,出现语法错误。mysql/postgresql中不允许这样的操作吗?以下代码中我做错了什么 显然,这个特定的示
在Postgres中,您可以使用如下子句创建视图
DROP VIEW IF EXISTS bb;
CREATE VIEW bb
AS
WITH aa
AS (SELECT *
FROM (VALUES (12, 320)) x(t, c))
SELECT *
FROM aa
我不能为postgresql说话,但MySQL中的视图似乎没有实际优势。为什么在这种情况下使用视图?WITH子句是单个SELECT语句的一部分,一个这样的子句不能用于多个SQL语句。