The Perfion Query - HAVING
When creating customer specific catalogs or catalogs specific to other criteria (e.g. regional, customer groups, etc.) it is easiest done by creating a Master Catalog that includes everything, and then afterwards removing things that are not relevant for the more specific case.
Post filtering
The Perfion Where clauses are transformed into real SQL clauses against the underlying SQL database. The biggest difference from the Where clauses is that the Having clauses are not transformed into SQL statements but instead executed afterwards (in memory) on the result-set retrieved from the underlying SQL database.
This means that HAVING does not allow complex Features on Features or the Hierarchy-notation concept since both rely on data that is not found in the result-set.
Remote features
As opposed to the Where clauses, the Having clauses allows criteria on remote feature values (since they are working directly on the result-set).
Performance
Since the Having clauses work on the retrieved result set, it is important to get as many criteria into the Where clauses as possible in order to optimize performance.
Syntax
The syntax of the Having clauses are identical to the Where clauses. However, not all of the same operations are typically needed at this stage. The following operators are currently supported for the Having clauses.
= |
!= |
> |
>= |
< |
<= |
IN, NOT IN |
HAS, NOT HAS |