1

我很难使用这个使用关键字WITH将表分组在一起的创建视图语句。我正在使用 plsql,所以我可以使用WITH关键字,就好像我在 Mysql 中我不能一样。我要写的查询是

首先,编写一个查询,返回所有身高超过 70 英寸且未就读于“科罗拉多大学”的人的人员 ID (pid)(提示:uid != 2)。然后,将该查询放在 WITH 子句中,并将其用作公用表表达式 (CTE) 来更新该集合中的所有人,以便他们的大学现在是“科罗拉多大学”。

现在,当我在 sql 中运行查询时,出现此错误。

错误:“SELECT”第 3 行或附近的语法错误:SELECT 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
4

0 回答 0