Thanks, I'll give it a try.

On Saturday, May 11, 2013 8:17:58 AM UTC-4, Niphlod wrote:
>
> ok. it adds a layer on top. Basically you want to have all products 
> matching all product_filters that have AT LEAST 2 rows for the same product.
>
> here we go.
>
> myfilter = ("top", "sweatshirt")
> top_and_sweatshirts = all_in_one(
>     db.filters.name.belongs(myfilter)
>     ).select(db.products.id, db.products.name, 
>         groupby=db.products.id|db.products.name,
>         having=db.filters.id.count() >= len(myfilter)
>     )
>
>
> so, the logic is.....
> - from the full resultset, filter all that are either "top" or "sweatshirt"
> - group by what I want (products)
> - count it (after grouping), filtering all products.id that have at least 
> 2 different filters.id (that means, all products that are BOTH top and 
> sweatshirt)
>
> when you "count" after grouping, you have to use the "having" clause....
>
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to