Re: weird structure

Поиск
Список
Период
Сортировка
От Renato De Giovanni
Тема Re: weird structure
Дата
Msg-id 39A68D36.EADD6043@viafractal.com.br
обсуждение исходный текст
Ответ на weird structure  (rdg@viafractal.com.br)
Список pgsql-sql
> > Consider the following tables/fields:
> > table "person": fields "p_id", "p_name".
> > table "person_attribute": fields "a_id", "a_name".
> > table "person_data": fields "d_person_id", "d_attribute_id",
> > "d_value".
> >
> > Also consider that a person may not have data related to all possible
> > attributes.
> >
> > Using this structure, how could I retrieve in one row with a single
> > select statement all attributes from a person (showing null to
> > attributes that were not registered to him)?
> >
> > Thanks for any suggestion,
> > --
> > Renato
> > Sao Paulo - SP - Brasil
> > rdg@viafractal.com.br
>
> I did similar things using the following technique:
> in frontend I gather all attributes from person_attribute and then
> generate a query like this:
>
> select *, (select distinct d_value from person_data where d_person_id =
> person.p_id and
> d_attribute_id = 'here first attribute id'), (select distinct d_value
> from person_data where d_person_id = person.p_id and d_attribute_id =
> 'here second attribute id'), ... from person
> --
> Sincerely yours,
> Yury

Yury...
That worked perfectly! Thank you very much!

Tell me, I've never seen this sql construction before, is it specific to
postgres? Or should it also work on other databases?

And is there any relevant performance issue considering this kind of
database schema and its peculiar sql commands?

Thanks again!
--
Renato
Sao Paulo - SP - Brasil
rdg@viafractal.com.br





В списке pgsql-sql по дате отправления:

Предыдущее
От: hlefebvre
Дата:
Сообщение: Re: Re: Date of creation and of change
Следующее
От: Rini Dutta
Дата:
Сообщение: queries and inserts