OK, I never use QueryOver, so there may be issues (report to JIRA if you
feel it's a bug).

In Linq I would do something like

.Sum(x=>(decimal?)x.Valor).GetValueOrDefault(0)==0

2015-05-07 18:10 GMT+02:00 glautter neves <[email protected]>:

> Gunnar, very good,
>
> but also does not generate "HAVING". Generated "And".
>
> *AND *nvl(sum(classAlias.value), 0) = 0
>
> If I put just the condition of zero, it generates "*HAVING*".
> Where(Restrictions.Eq(Projections.Sum<MyClass>((x) => x.Valor), 0))
>
> thank you very much
>
> Em quinta-feira, 7 de maio de 2015 12:34:25 UTC-3, Gunnar Liljas escreveu:
>>
>> Sum returns null if there is nothing to aggregate.
>>
>> Maybe this will work:
>>
>> .Where(Restrictions.Eq(Projections.SqlFunction("coalesce",
>> NHibernateUtil.Object,Projections.Sum<MinhaClasse>(x => x.Valor),
>> Projections.Constant(0)), 0));
>>
>> In other words
>>
>> having coalesce(sum(value),0)=0
>>
>> 2015-05-07 15:03 GMT+02:00 glautter neves <[email protected]>:
>>
>>> Hi,
>>>
>>> I have made the sql out and is working, but I need to generate the
>>> queryover.
>>>
>>> There are several relationships. This return is for a subquery and the
>>> sum is for a list that has not always record but may also exist records
>>> with zero values.
>>>
>>> Thank you,
>>>
>>> I have solved this case in bold, but is ignoring the "Having" and
>>> generating "And"
>>> Having *(sum (value) == 0) OR (sum (value) IS NULL);*
>>>
>>> using:
>>> .Where(Restrictions.Eq(Projections.Sum<MinhaClasse>((x) => x.Valor), 0)
>>> || Restrictions.IsNull(Projections.Sum<MinhaClasse>((x) => x.Receita)))
>>>
>>> maybe use a coalesce
>>>
>>> Em quinta-feira, 7 de maio de 2015 09:42:05 UTC-3, sql-expert escreveu:
>>>>
>>>> Hi:
>>>>
>>>> *OR* (sum(valor) IS NULL
>>>> Why are you testing the result of an aggregate function, especially SUM
>>>> for NULL? In SQL, aggregate functions like sum() normally ignore NULLs.
>>>>  sum(x) should normally never return NULL. If you do get NULLs at the C#
>>>> level, there are several ways to handle that.
>>>>
>>>> HTH.
>>>>
>>>> On Thu, May 7, 2015 at 6:29 AM, Michael Powell <[email protected]>
>>>> wrote:
>>>>
>>>>> English please. Thank you.
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "nhusers" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at http://groups.google.com/group/nhusers.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "nhusers" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/nhusers.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/nhusers.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to