Pregunta:
Fecha: 11-11-2017 07:48:05
(En Español)
Pdta: si no realizo sum(cantid) funciona pero 2 1 registro por cada tabla
Gracias por su ayuda Votos: 0 - Respuestas: 2 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
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 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
