> SET COLLATE TO "MACHINE" > > a = SECONDS() > *-- On veut la somme des catégories ( OABCD ) et hospitalisation par type institution , > *-- sur une période donnée ( D_debut , d_fin ) avec une extrapolation possible de 8 jours > *-- sur les HospItalisations. > SET SAFETY OFF > > SELECT Etats > INDEX ON ddebut TAG ddebut ADDITIVE > INDEX ON dfin TAG dfin ADDITIVE > INDEX ON ntype TAG ntype ADDITIVE > INDEX ON nPoscat TAG nPoscat ADDITIVE > > > SELECT DatesFiltred > INDEX ON ntype TAG ntypeIndex ADDITIVE > INDEX ON ddate TAG ddate ADDITIVE > INDEX ON nPoscat TAG oscatIndex ADDITIVE > > > SYS(3054,11,"coptimation") > > SELECT DatesFiltred.nPoscat, ; > Etats.ccat_physiq ,; > Etats.ntype , ; > COUNT( DatesFiltred.ddate ) AS "Ncat" , ; > Etats.ltransfert ; > FROM DatesFiltred ; > INNER JOIN amline!Etats ON DatesFiltred.nPoscat = Etats.nPoscat AND DatesFiltred.ntype = Etats.ntype AND ; > DatesFiltred.ddate BETWEEN Etats.ddebut AND Etats.dfin ; > WHERE DatesFiltred.ddate BETW D_debut AND d_fin ; > ORDER BY ltransfert , DatesFiltred.ntype , DatesFiltred.nPoscat ; > GROUP BY ltransfert , DatesFiltred.ntype , DatesFiltred.nPoscat ; > INTO CURSOR Sum_Categ_per_periode && CURSOR tempstat2 > > SYS(3054,0) > > > CREATE CURSOR TT ( gmemo M ) > INSERT INTO TT ( gmemo ) VALUE( coptimation ) > CLEAR > ? coptimation > > > * WAIT > B = SECONDS() > WAIT WINDOW NOWAIT TRANSFORM( B - a , "9999.99999") > >>
FROM DatesFiltred ; >> JOIN Etats ON DatesFiltred.nposcat = Etats.nposcat AND DatesFiltred.nType = Etats.nType AND ; >> DatesFiltred.ddate BETWEEN Etats.ddebut AND Etats.dfin ; >>* or >> JOIN Etats ON DatesFiltred.nposcat = Etats.nposcat AND DatesFiltred.nType = Etats.nType ; >> WHERE DatesFiltred.ddate BETWEEN Etats.ddebut AND Etats.dfin ; >>>>>Sergey,
>>> SELECT DatesFiltred.nposcat, ; >>> Etats.ccat_physiq ,; >>> Etats.nType , ; >>> COUNT( DatesFiltred.ddate ) AS "Ncat" , ; >>> Etats.ltransfert ; >>> FROM DatesFiltred ,Etats; >>> WHER DatesFiltred.nposcat = Etats.nposcat AND DatesFiltred.nType = Etats.nType AND ; >>> DatesFiltred.ddate BETWEEN Etats.ddebut AND Etats.dfin ; >>> ORDER BY ltransfert , DatesFiltred.nType , DatesFiltred.nposcat ; >>> GROUP BY ltransfert , DatesFiltred.nType , DatesFiltred.nposcat ; >>> INTO CURSOR Sum_Categ_per_periode && CURSOR tempstat2 >>> >>> SYS(3054,0) >>> >>>Rushmore optimization level for intermediate result: none >>>Rushmore optimization level for table etats: none >>>Joining table etats and intermediate result using temp index >>> >>>>>