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 по дате отправления: