HAVING句は、出力レコードをフィルタするために使用します。
HAVING句は、次のようなブール式で使用できます:
{= , <>, <, <=, >, >=}
<attribute> IS {NULL, NOT NULL, EMPTY, NOT EMPTY}
SUBSETや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句が参照できるのは、同じ文で定義されている属性のみです(SELECT句で定義されている別名付き属性など)。 たとえば、次のような文は無効です:
// 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