The HAVING
clause is used to filter output records.
HAVING
clause with any Boolean expression, such as:
{= , <>, <, <=, >, >=}
<attribute> IS {NULL, NOT NULL, EMPTY, NOT EMPTY}
SUBSET
and IS_MEMBER_OF
<attribute-list> IN <source-statement>
RETURN Reps AS SELECT SUM(Amount) AS SalesTotal FROM SaleState GROUP BY SalesRep HAVING SalesTotal > 10000
HAVING
clauses may refer only to attributes defined in the same statement (such as aliased attributes defined by a SELECT
clause). For example, this is an invalid statement:
// Invalid because "Price" is not defined in the statement (i.e., Price is a collection attribute). Return results AS SELECT SUM(Price) AS TotalPrices FROM SaleState GROUP BY WineType HAVING Price > 100
In statement "results": In HAVING clause: Local statement attribute "Price" is not in scope
// Valid because "TotalPrices" is defined in the statement. Return results AS SELECT SUM(Price) AS TotalPrices FROM SaleState GROUP BY WineType HAVING TotalPrices > 100