>SELECT ; > CTime ; >, MAX(IIF(DateW=1,Patient,SPACE(30))) AS Sunday ; >, MAX(IIF(DateW=2,Patient,SPACE(30))) AS Monday ; >, MAX(IIF(DateW=3,Patient,SPACE(30))) AS Tuesday ; >, MAX(IIF(DateW=4,Patient,SPACE(30))) AS Wednesday ; >, MAX(IIF(DateW=5,Patient,SPACE(30))) AS Thursday ; >, MAX(IIF(DateW=6,Patient,SPACE(30))) AS Friday ; >, MAX(IIF(DateW=7,Patient,SPACE(30))) AS Saturday ; > FROM (SELECT MAX(T.CTime) CTime ; > , MAX(DOW(T.CDate)) DateW ; > , MAX(T.Patient) Patient ; > , COUNT(*) rowInGroup; > FROM theTable T ; > LEFT JOIN theTable RN ; > ON RN.OperationID <= T.OperationID ; > AND RN.CTime=T.CTime ; > AND DOW(RN.CDate)=DOW(T.CDate); > GROUP BY T.OperationID) GG; > GROUP BY CTime,rowInGroup >>if it is slow, a variation exists
FROM theTable T ; LEFT JOIN theTable RN ; ON RN.OperationID <= T.OperationID ; AND RN.CTime=T.CTime ; AND DOW(RN.CDate)=DOW(T.CDate)Thanks