Re: Using table name in column for joining

From: Antonio Goméz Soto <antonio(dot)gomez(dot)soto(at)gmail(dot)com>
To: sabrina miller <sabrina(dot)miller(at)gmail(dot)com>
Cc: Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Using table name in column for joining
Date: 2010-01-05 19:56:32
Message-ID: 4B439970.7050604@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Op 05-01-10 18:00, sabrina miller schreef:
> You can also have inheritance from animal, in such case you can have
> partitioned different animals in different tables with their special
> attributes in it.
>
> then you will have:
>
>
> create table animal(
> id serial,
> name varchar(20),
> age integer
> );
>
> create table elephant
> (some_attr_that_only_have_
> elephants varchar(20)
> )
> INHERITS (animal);
>

This is PostgreSQL-specific isn't it?
I'm a bit afraid to use brand-specific constructs.

Antonio

> create table monkey
> (some_attr_that_only_have_monkey varchar(20)
> )
> INHERITS (animal);
>
> insert into elephant (name, age, some_attr_that_only_have_elephants)
> values ('sophie',15,'lorem');
>
> insert into monkey (name, age, some_attr_that_only_have_monkey)
> values ('lory',3,'impsu');
>
> You can look for diferents animals like this:
>
> select name <http://animal.name/> from animal;
> select name <http://animal.name/> from elephant;
> select name <http://animal.name/> from monkey;
>
> I hope it helps.
>
>
> 2010/1/5 Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com <mailto:gryzman(at)gmail(dot)com>>
>
> On Tue, Jan 5, 2010 at 3:30 PM, Antonio Goméz Soto
> <antonio(dot)gomez(dot)soto(at)gmail(dot)com <mailto:antonio(dot)gomez(dot)soto(at)gmail(dot)com>>
> wrote:
> > Hello,
> >
> > I have a column in a table that contains the name of another table,
> > and the id in that table.
> >
> > I would like to use this in a join statement. Is that possible?
>
> not possible I'm afraid.
>
> But have a look at concept of inheritance for something that might
> suit you. Or just store everything in one table, but add new id to
> each row. That is what other half of the world uses.
>
> Also, when writing queries like that, consider using aliases for table
> name, for instance:
>
> select a.id <http://a.id> from animals a;
>
> makes life easier.
>
> hth
>
> --
> GJ
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org
> <mailto:pgsql-general(at)postgresql(dot)org>)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Guillaume Lelarge 2010-01-05 20:00:34 Re: reason for default PGSTAT_ACTIVITY_SIZE
Previous Message Roman Neuhauser 2010-01-05 19:52:33 Re: set-level update fails with unique constraint violation