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