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:
01521106
Views:
46
>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?
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 SUM(Podet.ITEM_QUANT) > 0
Having should have an aggreage function for Item_Quant. You can not reference a new field in the Having clause, so you must repeat the same expression. You can only reference a newly created alias in the ORDER BY clause of the SQL - Select.
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform