Re: Table filter
От | Joe Conway |
---|---|
Тема | Re: Table filter |
Дата | |
Msg-id | 4744A8B6.6040700@joeconway.com обсуждение исходный текст |
Ответ на | Re: Table filter (Reg Me Please <regmeplease@gmail.com>) |
Список | pgsql-general |
Reg Me Please wrote: > Il Wednesday 21 November 2007 20:22:46 Joe Conway ha scritto: >> Reg Me Please wrote: >>> The meaning is that an entity called by the value of "item" has a number >>> of properties called by "property" with value "prop_value". >>> So, for a single "item" there can be many different "property" each with >>> its own value. >>> >>> A filter is a list of property values needed to qualify an entity as >>> "good". An entity evaluates as good only when all property values in the >>> filter match the ones associated to an item in t_data. >>> >>> What's missing to me is how to apply a filter to the t_data and get the >>> list of the items that evaluate good. >> I haven't played with it myself, but it seems to me that you could do >> this with an inner join of two crosstabs -- one on t_data and one on the >> filters (i.e. you join on the columns of the filter crosstab to the >> matching ones in the t_data crosstab). >> >> Joe > > This is a good point. > I just need to avoid doing crosstabs over a very large t_data: I fear it'd > kill the application. > Yeah, I suspect as much too. You might want to create a custom filter function based on the crosstab_hash function in contrib/tablefunc. The basic elements are there. Instead of building return tuples you could do the filtering and return a boolean value for each row key or something like that. Joe
В списке pgsql-general по дате отправления: