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:
01521107
Vues:
31
>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.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform