>>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.
Naomi and Borislav,
Thank you both very much. I understand now.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham