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
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 :-{ |