sql CREATE视图语句中的WITH关键字

sql CREATE视图语句中的WITH关键字,sql,view,psql,create-table,create-view,Sql,View,Psql,Create Table,Create View,我很难使用create view语句,它使用关键字with将表分组在一起。我使用的是plsql,所以我可以使用和关键字,就像我在Mysql中一样,我无法使用。我试图写的查询是 首先,编写一个查询,返回所有人员的人员id(pid) 身高不超过70英寸的不上大学的人 科罗拉多”(提示:uid!=2)。然后,将该查询放在WITH子句中 并将其用作公共表表达式(CTE)来更新中的所有人员 这样一来,他们的大学现在就成了“大学”了。 科罗拉多州 现在,当我在sql中运行我的查询时,我得到了这个错误 错误:

我很难使用create view语句,它使用关键字
with
将表分组在一起。我使用的是plsql,所以我可以使用
关键字,就像我在Mysql中一样,我无法使用。我试图写的查询是

首先,编写一个查询,返回所有人员的人员id(pid) 身高不超过70英寸的不上大学的人 科罗拉多”(提示:uid!=2)。然后,将该查询放在WITH子句中 并将其用作公共表表达式(CTE)来更新中的所有人员 这样一来,他们的大学现在就成了“大学”了。 科罗拉多州

现在,当我在sql中运行我的查询时,我得到了这个错误

错误:“选择”第3行或其附近出现语法错误:选择a.pid

这是我为这个查询编写的代码,然后我将发布我使用的表。提前谢谢你的帮助

CREATE VIEW withclause2 AS

WITH cte(
    SELECT a.pid
    FROM what.person as a
    INNER JOIN what.university as b
    ON a.uid = b.uid
    WHERE a.uid != 2
)
SELECT cte.pid
FROM cte
INNER JOIN what.body_composition as c
ON c.pid=cte.pid
WHERE c.height > 70;
桌子是空的

                Table "what.university"
     Column      |         Type          |                        Modifiers             
-----------------+-----------------------+--------------------------------------
 uid             | integer               | not null default 
 university_name | character varying(50) | 
 city            | character varying(50) | 


           Table "what.person"
 Column |         Type          |                      Modifiers                
--------+-----------------------+-----------------------------------------------
 pid    | integer               | not null default nextval('person_pid_seq'::regclass)
 uid    | integer               | 
 fname  | character varying(25) | not null
 lname  | character varying(25) | not null

 Table "what.body_composition"
 Column |  Type   | Modifiers 
--------+---------+-----------
 pid    | integer | not null
 height | integer | not null
 weight | integer | not null
 age    | integer | not null

你缺少了CTE()的关键词,它告诉我当我改变它时我创建了一个视图,但它是正确的视图吗?根据分配,你需要放置两个条件(高度和uid)并获取所有行,然后使用CTE,你需要更新条件。所以视图需要更多的修改。这个作业根本不需要你写一个视图,只需要写一个cte,并使用这个cte作为更新的源。作业作业?此人发布了几乎相同的内容:。很感谢您提供代码、错误和模式,+1。