Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to use Having correctly?
Message
General information
Forum:
Microsoft SQL Server
Category:
SQL syntax
Environment versions
SQL Server:
SQL Server 2005
Miscellaneous
Thread ID:
01521102
Message ID:
01521107
Views:
32
>Hi,
>
>I am getting an error in the following (simplified) SQL Select:
>
>
>select SUM(FIELD1) AS FIELD1, SUM(PODET.ITEM_QUANT) AS ITEM_QUANT, POREC.PODET_PK 
>FROM POREC RIGHT JOIN PODET ON PODET.PODET_PK = POREC.PODET_PK GROUP BY
> PODET.PODET_PK 
>HAVING ITEM_QUANT > 0
>
>
>The error says "Column PODET.ITEM_QUANT is invalid in the HAVING clause because it is not contained in either
>an aggregate function or the GROUP BY clause. What I don't understand is why SUM() around ITEM_QUANT is ignored? Or is there another problem with above SQL select?

Because the HAVING must be with full Agragate function in it:

HAVING SUM(PODET.ITEM_QUANT) > 0

SQL Server unlike VFP didn't name the columns before the resultset is generated. So ITEM_QUANT is not the result column, but the column from PODET table.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Previous
Reply
Map
View

Click here to load this message in the networking platform