getting the values of a complex attribute
От | Nicolas Caillaud |
---|---|
Тема | getting the values of a complex attribute |
Дата | |
Msg-id | 357B0EA3.F0A1E65F@mail.dotcom.fr обсуждение исходный текст |
Список | 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.Caillaud@mail.dotcom.fr
В списке pgsql-sql по дате отправления: