Ver Mensaje Individual
  #3 (permalink)  
Antiguo 22/03/2013, 02:09
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta a BD con distintos tipos de IVA

curura atiende los consejos de leonardo_josue, ayudar a ayudar da resultados, y bienvenid@.

En cuanto a tu problema... sin tener la estructura de tus tablas, no todo el mundo tiene el prestashop instaldo para mirar la estructura, te puedo dar un poco la logica....

Normalmente la estructura es

Facturas
id
NumFac
idCliente FK
fecha

Se trata de la cabecera de la factura en tu caso seguramente es ps_orders (no voy a hacer mas suposiciones como esta sobre tu estructura).

DetalleFactura
id
idFactura FK (relaciona con la factura)
idProducto FK
cantidad
tipoIva (supongamos que esta en tanto por uno es decir 21% IVA como 0.21)
precio (sin IVA)

Se trata como su nombre indica las lineas de la factura


Con estas dos tablas ya se puede calcular lo que pides....


Código MySQL:
Ver original
  1. SELECT f.idCliente,
  2.             MONTH(d.fecha) mes,
  3.             d.tipoIva,
  4.             SUM(d.cantidad*d.precio) Base,
  5.             SUM(d.cantidad*d.precio*d.tipoIva) IVA,
  6.             SUM(d.cantidad*d.precio*(1+d.tipoIva)) Total
  7. FROM facturas f INNER JOIN DetalleFactura d
  8.             ON f.id=d.idFactura
  9. GROUP BY f.idCliente,
  10.             MONTH(d.fecha),
  11.             d.tipoIva;

Ahi tienes la facturación mensual de cada cliente por tipos de IVA.

Analiza y adapta lo que sea pero no debería salirte nada muy distinto.

Le puedes agregar un join a clientes para poder ver el nombre del cliente o algun where para filtrar por fechas... por ejemplo por tirmestres quitando el mes (de la lista de campos y del group by) para que te salga el total del trimestre.... si quitas el cliente tendras el IVA cobrado...etc pero lo basico es eso... sin subconsultas.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 22/03/2013 a las 02:26