I know title is ambiguous, but what I want is to search products which matches exact criteria of user search and if there are no much records in that search, so I want to show other results along with users search result.

**Example: Suppose I have fields**

**productname    price     category     subcategory     startdate     enddate     name     city     state     country**

User can search from all of above fields but what I want user search should always gets to see at-least 12 result whether other results matches all criteria or not, means search should expand from exact match search to little loser(or may be no) match criteria.

I know I can achieve this easily through multiple queries but point is I want to achieve this with one query or fewer queries.

Any help in this regard would be highly appreciable.