>SELECT DISTINCT ET.Operator, ET.Route, ET.Class, ET.Date, ET.RorF, op.Desc as OpDesc, ; > IIF( ET.Route == RteFam.ERoute ; > AND ET.Operator == RteFam.Operator, ; > IIF( (( ldStartCurr BETWEEN RteFam.Start_date AND RteFam.End_date) ; > OR ( ldEndCurr BETWEEN RteFam.Start_date AND RteFam.End_date) ; > OR ( RteFam.Start_date < ldStartCurr AND RteFam.End_date > ldEndCurr) ; > OR ( RteFam.Start_date => ldStartCurr AND RteFam.End_date <= ldEndCurr) ; > OR ( ldStartPrev BETWEEN RteFam.Start_date AND RteFam.End_date) ; > OR ( ldEndPrev BETWEEN RteFam.Start_date AND RteFam.End_date) ; > OR ( RteFam.Start_date < ldStartPrev AND RteFam.End_date > ldEndPrev) ; > OR ( RteFam.Start_date => ldStartPrev AND RteFam.End_date <= m.ldEndPrev) ), ; > RteFam.ServType, "#"), ; > "?") as ServeType, ; > IIF( ET.Route == ET.Mcl_Rte, " ", ET.Mcl_Rte) as ContrNum, ET.Family, ; > SUM( IIF( BETWEEN( ET.date, ldStartCurr, ldEndCurr), ET.Number, 0000000)) AS CurrPass, ; > SUM( IIF( BETWEEN( ET.date, ldStartPrev, ldEndPrev), ET.Number, 0000000)) AS PrevPass ; > FROM ETMData ET ; > JOIN Operator op ; > On ET.Operator == op.Code ; > LEFT JOIN RteFam ; > On ET.Operator == RF1.Operator ; > and ( ET.Route == RF1.ERoute ; > or EMPTY( RF1.ERoute) ) ; > WHERE ( ( ET.date BETWEEN ldStartCurr and ldEndCurr) ; > OR ( ET.date BETWEEN ldStartPrev and ldEndPrev) ) ; > AND not DELETED() ; > GROUP BY ET.Mcl_Rte, ET.Operator, ET.Route, ET.Class ; > ORDER BY ET.Operator, OpDesc, ET.Route, ET.Class ; > INTO CURSOR csrETMPassengers NOFILTER > >- BETWEEN..and.. is not allowed into the projection list