I think there are two solutions for your problem. The easiest one is to add an attribute to each blog instance called something like "clubId". When you create a club, set the clubId for the blog that is created - this is best done in a HTTP module that listens to the Club created event. Now you can search for this attribute.

The other way is to build a custom Criteria and in this criteria make a join with clubs.

A criterion in the supplied ICriteriaGroup is not defined in this Query.Parameter name: groupDescription: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: A criterion in the supplied ICriteriaGroup is not defined in this Query.Parameter name: group

I've been trying to solve the issue of getting blog entries with title and content values which contain specified keywords AND belong to specified clubs AND have a blogType='ClubNews' ORblogType = 'UserBlog'. I have coded the following which under limited testing appears to work - although its not pretty it might help :-)

It requires using System.Collections.Generic; using EPiServer.Community.Blog; using EPiServer.Community.Blog.Queries;