Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to use Having correctly?
Message
 
 
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Syntaxe SQL
Versions des environnements
SQL Server:
SQL Server 2005
Divers
Thread ID:
01521102
Message ID:
01521106
Vues:
45
>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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform