0

SQL でビュー作成プログラムを作成していますが、最後のビュー作成ステートメントで問題が発生しています。このビュー ステートメントでは、コロンビア市のすべての大学からすべての uid を取得したいと考えています。次に、サブクエリを使用して、人の姓と名の情報を取得したいと考えています。公式の説明は以下の通り

Write a query that returns only the uid value for all universities in the city Columbia. Then use 
that query with an IN sub-query expression to retrieve the first and last names for all people that  
go to school in Columbias

次に、create table ステートメント用に作成したコードを投稿します。次に、view ステートメントに使用する 2 つのテーブルを投稿します。事前に助けてくれてありがとう。

CREATE VIEW inn AS
SELECT a.uid
FROM letsdoit.university as a
WHERE b.fname, b.lname IN(SELECT b.fname, b.lname FROM letsdoit.person as b WHERE (a.city = "Columbia"));

テーブルは

               Table "letsdoit.university"
     Column      |         Type          |                        Modifiers                         
-----------------+-----------------------+--------------------------------------
 uid             | integer               | not null default nextval('university) uid_seq'::regclass)
 university_name | character varying(50) | 
 city            | character varying(50) | 



            Table "letsdoit.person"
 Column |         Type          |                      Modifiers                
--------+-----------------------+-----------------------------------------------
 pid    | integer               | not null default nextval('person_pid_seq'::reg class)
 uid    | integer               | 
 fname  | character varying(25) | not null
 lname  | character varying(25) | not null
4

1 に答える 1

0

問題の説明に基づいて、作成するように指示された最初のクエリは、IN のサブクエリである必要があり、その大学の人々の姓名を検索する基準として使用する必要があるようです (UID は両方の PERSON にあるため)。および UNIVERSITY) であるため、ビューは次のようになります。

create view inn as
select fname, lname
  from letsdoit.person
 where uid in (select uid from letsdoit.university where city = 'Columbia')
于 2014-10-05T13:46:05.987 に答える