Re: weird structure

Поиск
Список
Период
Сортировка
От Yury Don
Тема Re: weird structure
Дата
Msg-id 39A5E7A4.E928FC2C@vpcit.ru
обсуждение исходный текст
Ответ на weird structure  (rdg@viafractal.com.br)
Список pgsql-sql
rdg@viafractal.com.br wrote:
> 
> Hi,
> 
> 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


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

Предыдущее
От: Rodger Donaldson
Дата:
Сообщение: Regular expression query
Следующее
От: Yury Don
Дата:
Сообщение: Re: [GENERAL] Getting the result of a query using COUNT(*)