Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Group by clause
Message
 
 
To
17/04/2005 11:48:13
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Environment versions
Visual FoxPro:
VFP 9
Miscellaneous
Thread ID:
01005559
Message ID:
01005620
Views:
18
Fabio,

thank for your precious help.
SELECT Horaire.iemployeeid, sum( Horaire.n100+ Horaire.n120),;
  sum( Horaire.n100_2+ Horaire.n120_2), MAX(PADR( Pause.cnom,20)),;
  MAX(PADR( Pause_a.cnom,20));
 FROM ;
     amline!Pause ;
    LEFT OUTER JOIN amline!Horaire ;
   ON  Pause.iid = Horaire.cpauseid2 ;
    LEFT OUTER JOIN amline!Pause Pause_a ;
   ON  Horaire.cpauseid = Pause_a.iid;
 WHERE  Horaire.ddate BETWEEN {^2005/04/01} and {^2005/04/30};
 GROUP BY Horaire.iemployeeid
>/PRE>

Give me a bad result ! 

I think that union is perhaps essential ?


Horaire.dbf n100   ------------------------> Pause.dbf  ( cpauseid) first pause
            n100_2 ------------------------> pause.dbf  ( cpauseid2 ) second pause


How can i have sum( n100 ) + sum( n100_2 ) per employeeid ?

>>I try it...
>>
>>i must verify...
>>
>><PRE>
>>
>>  SELECT H.iemployeeid  ,;
>>    COUNT(*) totaljo ,;
>>    SUM( IIF( INLIST( .F. , E.Lassimilinami , P.Iassimilid , P2.Iassimilid ) , H.n100 + H.n100_2 + H.n120 + H.n120_2 , 0.00 )) totHoNAs ,;
>>    SUM( IIF( E.Lassimilinami = .T. AND ( P.Iassimilid = .T. OR P2.Iassimilid = .T. ) , H.n100 + H.n100_2 + H.n120 + H.n120_2 , 0.00 )) totHoAs ;
>>    FROM ;
>THIS DOUBLE INNER IS USELESS
>
>    Horaire H INNER JOIN PAUSE P ON  H.cpauseid = P.iid ;
>    INNER JOIN PAUSE P2 ON  H.cpauseid = P2.iid ;
>
>YOU MAKE A TYPO ERROR
>YOU THINK THIS
>    Horaire H INNER JOIN PAUSE P ON  H.cpauseid = P.iid ;
>    INNER JOIN PAUSE P2 ON  H.cpauseid2 = P2.iid ;
>
>BUT THIS CANNOT WORK BECAUSE FOR WORK H.cpauseid AND H.cpauseid2 shoukd match
>
>try this:
>    Horaire H LEFT JOIN PAUSE P ON  H.cpauseid = P.iid ;
>    LEFT JOIN PAUSE P2 ON  H.cpauseid2 = P2.iid ;
>and overridde the Iassimilid nulls
>( remember the rule NULL OR .T. is .T. and NULL AND .F. is .F.)
>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform