sql CREATE视图语句中的WITH关键字
我很难使用create view语句,它使用关键字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中运行我的查询时,我得到了这个错误 错误:
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。