Nueva pregunta

Pregunta:

 
  0  
 
Fecha: 11-11-2017 07:48:05 (En Español)

Auxilio : Error al tratar de sumar un campo de una tabla temporal php y mysql[No resuelta]

Al sumar el campo cantid me da el siguiente error: Notice: Undefined index: cantid in ..................

$creavista = $this->db->exec("CREATE TEMPORARY TABLE IF NOT EXISTS tempVentas 
			select l.descripcion nombre, sum(cantidad) cantid, l.referencia referen, fecha, f.codagente,  a.codfabricante 
			from lineasfacturascli as l, facturascli as f, articulos as a
			where f.idfactura = l.idfactura
			and a.referencia =l.referencia
			and f.fecha between '".$fecini."' and '".$fecfin."' 
			and f.codagente= ".$agentecod." 	
			and a.codfabricante= '".$codfab."' group by  l.referencia, l.descripcion, f.codagente,  a.codfabricante
			union
			select l1.descripcion nombre, sum(cantidad) cantid, l1.referencia referen, fecha, f1.codagente,  a1.codfabricante 
			from lineasalbaranescli as l1, albaranescli as f1, articulos as a1
			where f1.idalbaran = l1.idalbaran
			and a1.referencia =l1.referencia
			and f1.fecha between '".$fecini."' and '".$fecfin."' 
			and f1.codagente= ".$agentecod." 	
			and a1.codfabricante= '".$codfab."' group by  l1.referencia, l1.descripcion, f1.codagente,  a1.codfabricante
			; " );
			}
                        
                        $this->resultadoven = $this->db->select("select nombre, referen, sum(cantid)  from tempVentas group by nombre, referen;");
      }
   } 


Pdta: si no realizo sum(cantid) funciona pero 2 1 registro por cada tabla

Gracias por su ayuda
Etiquetas: HTML - MySQL - PHP Votos: 0 - Respuestas: 2 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 13-11-2017 03:09:29 Por el notice me imagino que debes estar haciendo algo como $array['cantid'] en alguna parte, mira que linea es que se genera el problema, el mismo notice te lo dice. Puedes comprobar que datos contiene tu array con var_dump($array);   Votos: 0 - Link respuesta
     
  • Fecha: 18-11-2017 01:20:06 Jhon
    Buenos días
    A sum(cantidad) cantil le falta "AS"

    * Quedaría asi:

    sum(cantidad) AS cantil

    TU Consulta modificada:

    $creavista = $this->db->exec("CREATE TEMPORARY TABLE IF NOT EXISTS tempVentas
    02. select l.descripcion nombre, sum(cantidad) AS cantil, l.referencia referen, fecha, f.codagente, a.codfabricante
    03. from lineasfacturascli as l, facturascli as f, articulos as a
    04. where f.idfactura = l.idfactura
    05. and a.referencia =l.referencia
    06. and f.fecha between '".$fecini."' and '".$fecfin."'
    07. and f.codagente= ".$agentecod."
    08. and a.codfabricante= '".$codfab."' group by l.referencia, l.descripcion, f.codagente, a.codfabricante
    09. union
    10. select l1.descripcion nombre, sum(cantidad) cantid, l1.referencia referen, fecha, f1.codagente, a1.codfabricante
    11. from lineasalbaranescli as l1, albaranescli as f1, articulos as a1
    12. where f1.idalbaran = l1.idalbaran
    13. and a1.referencia =l1.referencia
    14. and f1.fecha between '".$fecini."' and '".$fecfin."'
    15. and f1.codagente= ".$agentecod."
    16. and a1.codfabricante= '".$codfab."' group by l1.referencia, l1.descripcion, f1.codagente, a1.codfabricante
    17. ; " );
    18. }
    19.
    20. $this->resultadoven = $this->db->select("select nombre, referen, cantil from tempVentas group by nombre, referen;");
    21. }
    22. }

    Suerte
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com