我在使用这个创建视图语句时遇到困难,该语句使用关键字WITH
将表组合在一起。我正在使用plsql所以我可以使用WITH
关键字,就好像我在Mysql中我不能。我想写的查询是
首先,编写一个返回所有人的人员ID(pid)的查询 谁不高于70英寸,不参加'大学 科罗拉多州(提示:uid!= 2)。然后,将该查询放在WITH子句中 并将其用作公共表表达式(CTE)来更新所有人 这使他们的大学现在成为'大学 科罗拉多”。
现在,当我在sql中运行查询时,我收到此错误。
错误:语法错误在或附近" SELECT"第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