Re: weird structure
От | Renato De Giovanni |
---|---|
Тема | Re: weird structure |
Дата | |
Msg-id | 39A59E87.B882AB22@viafractal.com.br обсуждение исходный текст |
Ответ на | weird structure (rdg@viafractal.com.br) |
Список | pgsql-sql |
Yes, Ryan, the idea is to use only one row with all attributes in it. The structure I described is easy to use when you want to know the attributes of a single person, and in this case your suggestion is the way to go - I knew that. I asked the question considering a specific person_id just to simplify. My real concern is about retrieving data from more than one person in a query. If attributes were all columns on "person" table, than a "select specific_fields from person where conditions=..." would do the job perfectly. But how could I achieve the same result using that different database schema? > Does it have to be in one row? > > Otherwise, assuming that person_data.d_person_id references person.a_id and > person_data.d_attribute_id references person_attribute.a_id: > > select a.a_name from person p, person_data d, person_attribute a where > p.p_name = 'UserYou'reLookingFor' AND p.p_id = d.d_person_id AND > d.d_attribute_id = a.a_id > > Would return a list of attributes the person has, one per row. > > ----- Original Message ----- > > 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
В списке pgsql-sql по дате отправления: