AFAIK there is no CASE in HQL. But since you're querying values, not objects, I'd rather go for a SQL query in your case.
-Markus 2008/12/4 M Kenyon II <[EMAIL PROTECTED]> > > I am doing a report that sums hours for several employees, based on a > grouping per week. I want to find how much overtime is being spent. > So, I want 2 values, a sum of all time, and a sum of just the > overtime. > > I was thinking of doing a case statement, like in SQL, but I'm not > sure how to do it in active record. > > I currently have a query like this: > ClassificationRequest.Append(@" > select > trn.Week, > > dtl.Section.ID<http://dtl.section.id/> > , > > dtl.Category.ID<http://dtl.category.id/> > , > sum(dtl.Hours), > year(trn.Date) > from TransactionDetail dtl > inner join > dtl.Transaction trn > inner join trn.Badge > bdg > inner join > bdg.District dst > where > > bdg.Classification.ID <http://bdg.classification.id/> = :ID"); > if (region > 0) > { > ClassificationRequest.Append(@" > and dst.Region.ID <http://dst.region.id/> = > :RegID > "); > } > if (district > 0) > { > ClassificationRequest.Append(@" > and dst.ID = :DistID > "); > } > > > ClassificationRequest.Append(@" and > trn.Date between :start AND :end > group by > > dtl.Category.ID<http://dtl.category.id/> > , > trn.Week, > > bdg.Classification.ID<http://bdg.classification.id/> > , > > dtl.Section.ID<http://dtl.section.id/> > , > trn.Date > "); > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
