Comunidad de diseño web y desarrollo en internet online

Problema con reporte php

Citar            
MensajeEscrito el 24 Abr 2006 02:07 pm
Que tal amigos tengo este codigo para mostrar el contenido de mi sql :

Código :

      while ($rows = mysql_fetch_row($this->mysql_resource))
      {
         echo "<tr align = '$this->body_alignment' bgcolor = '$this->body_color'>";
         for ($i = 0; $i < $field_count; $i++)
         {
            //Now Draw Data
            echo "<td><font color = '$this->body_textcolor'>&nbsp;".$rows[$i]."</font></td>";
         }
         echo "</tr>";
      }


Esta es mi consulta:

Código :

SELECT
PRODUCTOS.NOMBRE AS PRODUCTO,
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='1', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'ENERO',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='2', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'FEBRERO',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='3', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'MARZO',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='4', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'ABRIL',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='5', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'MAYO',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='6', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'JUNIO',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='7', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'JULIO',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='8', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'AGOSTO',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='9', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'SEPTIEMBRE',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='10', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'OCTUBRE',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='11', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'NOVIEMBRE',
SUM(IF(ACTIVIDADAGRICOLADETALLE.MESACT ='12', ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO +ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO,0)) AS 'DICIEMBRE',
SUM(ACTIVIDADAGRICOLADETALLE.TACOSECHASECANO + ACTIVIDADAGRICOLADETALLE.TACOSECHARIEGO) AS 'TOTAL COSECHA'
FROM
  ACTIVIDADAGRICOLADETALLE, REGIONES, PRODUCTOS
WHERE     (ACTIVIDADAGRICOLADETALLE.REGION = REGIONES.REGION)
AND  (ACTIVIDADAGRICOLADETALLE.PRODUCTO = PRODUCTOS.PRODUCTO)
AND   actividadagricoladetalle.anoact between '2005' and '2006'
GROUP BY
 /* REGIONES.NOMBRE_CORTO,*/
  PRODUCTOS.NOMBRE,
  actividadagricoladetalle.anoact 

Como veran esta consulta manda dos parametros --2005 y 2006 ...


El problema es que devuelve los registros duplicados.. es decir por cada año me devuelve un producto igual..

-----------------------------------------------------
Producto - Enero
-----------------------------------------------------
Arroz - 342334
-----------------------------------------------------
Arroz - 12233
-----------------------------------------------------
(cuando ejecuto la consulta desde un herramienta externa no duplica los registros) existe alguna forma para mostrar la sumatoria de los dos años...

Gracias por anticipado..

Por benaias2000

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 24 Abr 2006 07:09 pm
revisa las funciones year y DATE_FORMAT de MySQL ;) , te pueden servir mucho

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.