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