>Select Count( Distinct person.PersonID) As PersonCount , Sum(pinfo.workhour) As TotalHours; > for (pinfo.workdate >= {^2012-05-01} and pinfo.workdate <= {^2012-05-31}; > FROM person INNER Join pinfo On person.PersonID = pinfo.PersonID for ; > WHERE (person.startdate >= {^2012-05-01}; > AND person.startdate <= {^2012-05-31}; > AND Upper(person.court) = "R"; > AND Upper(person.sex) = 'M') ; > or (person.startdate >= {^2012-05-01}; > AND person.startdate <= {^2012-05-31}; > AND Upper(person.court) = "J" ; > AND Upper(person.sex) = 'M' ); >>
Select Count( Distinct person.PersonID) As PersonCount , ; Sum(IIF(pinfo.workdate >= {^2012-05-01} and pinfo.workdate <= {^2012-05-31},pinfo.workhour,0000.00)) As TotalHours; FROM person INNER Join pinfo On person.PersonID = pinfo.PersonID for ; WHERE person.startdate >= {^2012-05-01}; AND person.startdate <= {^2012-05-31}; AND Upper(person.court) IN ("R","J") ; AND Upper(person.sex) = 'M'Will return all people satisfying your where criteria, but only work hours in the workdate ranges.
Select Count( Distinct person.PersonID) As PersonCount , ; Sum(pinfo.workhour) As TotalHours; FROM person INNER Join pinfo On person.PersonID = pinfo.PersonID for ; WHERE person.startdate >= {^2012-05-01}; AND person.startdate <= {^2012-05-31}; AND pinfo.workdate >= {^2012-05-01} and pinfo.workdate <= {^2012-05-31} ; AND Upper(person.court) IN ( "R", "J") ; AND Upper(person.sex) = 'M' ;Will only select people who worked in the work date range.