キーワードWITH
を使用してテーブルをグループ化するこの create view ステートメントで苦労しています。私は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