SUM() problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SUM() problem

    PHP-Code:
            $sql=  "SELECT 
                        W.info, SEC_TO_TIME(W.duration) as fduration, W.duration as duration, SEC_TO_TIME(SUM(W.duration)) as gduration, W.wid,
                        T.name as tname, T.tid,
                        P.name as pname, DATE_FORMAT(P.date,'%m%y') as fstart, P.pid as pid,
                        C.name as cname, 
                        E.name as ename
                    FROM 
                        "
    .PREFIX."worksheet W
                        LEFT JOIN "
    .PREFIX."employee E 
                            ON E.eid = W.eid
                        LEFT JOIN "
    .PREFIX."projekt P 
                            ON P.pid = W.pid
                        LEFT JOIN "
    .PREFIX."client C 
                            ON C.cid = P.cid
                        LEFT JOIN "
    .PREFIX."type T 
                            ON T.tid = W.tid
                    WHERE 
                        YEAR( W.date ) = "
    .$this->intyear." AND 
                        MONTH( W.date ) = "
    .$this->intmonth." AND 
                        DAYOFMONTH( W.date ) = "
    .$this->intday.
                        AND W.eid = '"
    .$this->userid."'
                    GROUP BY
                        W.duration
                    ORDER BY
                        W.wid ASC"
    ;
            
    //echo $sql;
            
    $result $objDB->query($sql);    
            if(
    DB::isError($result)) {        
                die(
    $result->getMessage());    
            }
            
    $this->worksheetdata = array();
            while(
    $row $result->fetchrow(DB_FETCHMODE_ASSOC)) {  
                
    $this->worksheetdata[] = $row;
                
    $fulldone $row['gduration'];
            }
            echo 
    "<hr>".$fulldone
    der query und die ausgabe ist soweit OK, doch leider wird $fulldone nicht correct ausgegeben.

    Es werden die werte leider nicht addiert, sondern es wird immer nur der letze wert ausgegeben .. warum ?


    W.duration enthalt nen einen sekundenwert z.b. : 3600 für 1h
    thx Mukraker

  • #2
    wo bitte addierst Du denn irgendetwas?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      SEC_TO_TIME(SUM(W.duration))

      da ist doch nen SUM() drin, das addiert !!

      [COLOR=deeppink]ok mir ist aufgefallen das group by ist schwachsinn, doch ohne bekomme ich nen error das der "group by" haben will[/COLOR]
      Zuletzt geändert von mukraker; 12.12.2003, 17:37.
      thx Mukraker

      Kommentar


      • #4
        Du solltest alle single cols gruppieren.
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar

        Lädt...
        X