1

キーワード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
4

0 に答える 0