Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2012, 16:41
Avatar de gerardo_goh
gerardo_goh
 
Fecha de Ingreso: noviembre-2008
Mensajes: 107
Antigüedad: 15 años, 5 meses
Puntos: 1
obtener la sumatoria de pedidos unicos

que tal, tengo este problema, me dieron varios archivos de excel y los estuve ir subiendo a mysql cada uno de estos archivos lo que deseo es obtener dos reportes uno es el resumen de pedido de todos los pedidos con la ultima fecha de reporte y el otro reporte es la sumatoria de pedidos unicos, como es un historico anexo el ejemplo del contenido de la tabla ya que son aproximadamente 2 millones de registros
Código MySQL:
Ver original
  1. use test;
  2.  
  3.  
  4. create table tblhistorico (fecha_orden     date         not null,
  5.                            fecha_reporte   date         not null,
  6.                            id_cliente      varchar(50)  not null,
  7.                            no_orden        varchar(50)  not null,
  8.                            cantidad        int          not null);
  9.  
  10.  
  11.  
  12. insert into tblhistorico (fecha_orden,fecha_reporte,id_cliente,no_orden,cantidad)
  13. values ('2012/07/03','2012/08/02','JL1','A1',5),
  14.        ('2012/07/03','2012/08/05','JL1','A1',5),
  15.        ('2012/08/03','2012/08/02','JL1','A5',15),
  16.        ('2012/08/03','2012/08/05','JL1','A5',15),
  17.        ('2012/08/03','2012/08/02','JL1','A7',15),
  18.        ('2012/08/03','2012/08/05','JL1','A7',15),
  19.        ('2012/08/03','2012/08/07','JL1','A7',15);

quiero obtener dos resultado del ejemplo el primero que me de lo siguiente:
Código MySQL:
Ver original
  1. fecha_orden|fecha_reporte|id_cliente|no_orden|cantidad
  2. 03/07/2012|05/08/2012|JL1|A1|5
  3. 03/08/2012|05/08/2012|JL1|A5|15
  4. 03/08/2012|07/08/2012|JL1|A7|15


y el segundo reporte sería la sumatoria de ese reporte:
Código MySQL:
Ver original
  1. id_cliente|cantidad
  2. JL1|35

Del primer caso del reporte estaba intentando de la siguiente manera pero
Código MySQL:
Ver original
  1. select fecha_orden,
  2.        fecha_reporte,
  3.        id_cliente,
  4.        no_orden,
  5.        cantidad
  6. from tblhistorico
  7. group by id_cliente,no_orden;

Pero no logro obtener del ultima fecha de reporte


Del segundo caso he intentado el rollup para obtener la sumatoria pero no logro hacerlo, ya que suma todo
Código MySQL:
Ver original
  1. select id_cliente,
  2.        no_orden,
  3.        sum(cantidad)
  4. from tblhistorico
  5. group by id_cliente,no_orden with rollup


Ojala me puedan ayudar muchas gracias

Última edición por gerardo_goh; 19/08/2012 a las 16:57