getting the values of a complex attribute

From: Nicolas Caillaud <Nicolas(dot)Caillaud(at)mail(dot)dotcom(dot)fr>
To: pgsql-sql(at)postgresql(dot)org
Subject: getting the values of a complex attribute
Date: 1998-06-07 22:05:23
Message-ID: 357B0EA3.F0A1E65F@mail.dotcom.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi *

I'm new to SQL, and being in the Linux world, I began with Postgresql.
One day, I wrote the following :

- create table person (name text);
- create table book(name text, author person);

simple, isn't it ? ;()

Now :

- insert into person (name) values ('nicolas');
INSERT 691704 1
- insert into person (name) values ('julien');
INSERT 691705 1

now, to fill book :
- insert into book (name, author) values ('my book', 691704);
INSERT 691706 1

ok, but cant i write anything but the oid of the person record i want to
insert ? (this is my first question)

Next :
insert into book (name,author) values ('other ', 691705);
INSERT 691707

OK, right now, i want te get all books written by 'nicolas', i want to write

select * from book where author.name = 'nicolas';

ERROR: author: Table does not exist.

select * from book where author = 691706;

ERROR: There is no operator '=' for types 'person' and 'int4'
You will either have to retype this query using an explicit cast,
or you will have to define the operator using CREATE OPERATOR

Now my second question : what can i do to get (in a simpler manner) all the books written by 'nicolas' ?

I think that writing an operator just to do that is a little bit complicated :-((

Thank you if someone got the answer .......

--
Nicolas Caillaud
Nicolas(dot)Caillaud(at)mail(dot)dotcom(dot)fr

Browse pgsql-sql by date

  From Date Subject
Next Message Jose' Soares Da Silva 1998-06-08 12:00:12 Re: [SQL] problems with CAST :-{
Previous Message Marin D 1998-06-07 13:05:54 Re: [SQL] problems with CAST :-{