* exec without index, next try add index on ordered sequence, or reverse ( i don't understand data statistic )
SELECT Etats
SELECT DatesFiltred
SELECT Etats.nPoscat, ;
Etats.ccat_physiq ,;
Etats.ntype , ;
COUNT( DatesFiltred.ddate ) AS "Ncat" , ;
Etats.ltransfert ;
FROM FORCE DatesFiltred JOIN Etats ;
ON DatesFiltred.ddate BETWEEN m.D_debut AND m.d_fin;
AND Etats.nPoscat = DatesFiltred.nPoscat AND Etats.ntype=DatesFiltred.ntype ;
AND Etats.ddebut<=DatesFiltred.ddate AND Etats.dfin>=DatesFiltred.ddate ;
GROUP BY ltransfert , Etats.ntype , Etats.nPoscat ;
INTO CURSOR Sum_Categ_per_periode
or try:
SELECT Etats
SELECT DatesFiltred
SELECT Etats.nPoscat, ;
Etats.ccat_physiq ,;
Etats.ntype , ;
COUNT( DatesFiltred.ddate ) AS "Ncat" , ;
Etats.ltransfert ;
FROM FORCE Etats JOIN DatesFiltred ;
ON DatesFiltred.ddate BETWEEN m.D_debut AND m.d_fin;
AND DatesFiltred.nPoscat=Etats.nPoscat AND DatesFiltred.ntype = Etats.ntype;
AND DatesFiltred.ddate BETWEEN Etats.ddebut AND Etats.dfin;
GROUP BY ltransfert , Etats.ntype , Etats.nPoscat ;
INTO CURSOR Sum_Categ_per_periode