Ver Mensaje Individual
  #5 (permalink)  
Antiguo 01/11/2012, 11:14
verdolaga1989
 
Fecha de Ingreso: agosto-2012
Mensajes: 8
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Al hacer LEFT JOIN se me Altera el SUM

Tabla Cliente
Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `tblcliente` (
  2.   `IdCliente` int(10) unsigned NOT NULL auto_increment,
  3.   `Nombre` varchar(30) collate utf8_spanish_ci NOT NULL,
  4.   `Telefono` varchar(15) collate utf8_spanish_ci NOT NULL,
  5.   `eMail` varchar(50) collate utf8_spanish_ci NOT NULL,
  6.   `Ciudad` varchar(30) collate utf8_spanish_ci NOT NULL,
  7.   `Estado` varchar(10) collate utf8_spanish_ci NOT NULL,
  8.   PRIMARY KEY  (`IdCliente`)
  9. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=11 ;
  10.  
  11. INSERT INTO `tblcliente` (`IdCliente`, `Nombre`, `Telefono`, `eMail`, `Ciudad`, `Estado`) VALUES
  12. (1, 'Pedro', '2136356', '[email protected]', 'Medellín', 'Activo'),
  13. (2, 'Juana', '5342254', '[email protected]', 'Cali', 'Activo'),
  14. (3, 'Homero', '4563422', '[email protected]', 'Medellín', 'Activo');

Tabla Factura
Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `tblfactura` (
  2.   `IdCliente` int(10) unsigned NOT NULL,
  3.   `Fecha` date NOT NULL,
  4.   `Total` int(11) NOT NULL,
  5.   `TNeto` int(10) unsigned NOT NULL,
  6.   `IVA` double default NULL,
  7.   `Descuento` double default NULL,
  8.   `Estado` varchar(10) collate utf8_spanish_ci NOT NULL,
  9.   `Moneda` varchar(3) collate utf8_spanish_ci NOT NULL,
  10.   `Descripcion` text collate utf8_spanish_ci NOT NULL,
  11.   PRIMARY KEY  (`NroFactura`),
  12.   KEY `IdCliente` (`IdCliente`),
  13.   KEY `Moneda` (`Moneda`)
  14. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=16 ;
  15.  
  16. INSERT INTO `tblfactura` (`NroFactura`, `IdCliente`, `Fecha`, `Total`, `TNeto`, `IVA`, `Descuento`, `Estado`, `Moneda`, `Descripcion`) VALUES
  17. 00001, 1, '2012-10-05', 44148000, 44148000, 0, 0, 'Active', 'COP', 'Venta 3 Graham, 2 Rolex y 1 Hublot'),
  18. (00002, 3, '2012-10-05', 59762000, 59762000, 0, 0, 'Active', 'COP', 'Venta Prueba'),
  19. (00004, 1, '2012-10-05', 4150, 4150, 0, 0, 'Active', 'USD', 'Venta Rolex'),
  20. (00005, 1, '2012-10-08', 97500, 100000, 0, 2.5, 'Active', 'COP', 'factura con descuento del 2.5%'),
  21. (00007, 1, '2012-10-01', 21253260, 21687000, 0, 2, 'Active', 'COP', 'Prueba'),
  22. (00008, 1, '2012-10-19', 24716430, 27462700, 0, 10, 'Active', 'COP', 'Prueba varios items'),
  23. (00015, 1, '2012-10-24', 10500, 10500, 0, 0, 'Active', 'USD', 'Venta 3 rolex en USD');
  24. (00011, 3, '2012-10-19', 16956345, 17535000, 0, 3.3, 'Active', 'COP', 'factura venta actualizar stock'),

Tabla Pagos por Factura
Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `tblpagosxfactura` (
  2.   `NroFactura` int(5) unsigned zerofill NOT NULL,
  3.   `Valor` int(11) unsigned NOT NULL,
  4.   `Fecha` date NOT NULL,
  5.   `Descripcion` text collate utf8_spanish_ci,
  6.   `TipoPago` varchar(10) collate utf8_spanish_ci NOT NULL,
  7.   `Moneda` varchar(3) collate utf8_spanish_ci NOT NULL,
  8.   PRIMARY KEY  (`NroPago`),
  9.   KEY `NroFactura` (`NroFactura`),
  10.   KEY `Moneda` (`Moneda`)
  11. ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=11 ;
  12.  
  13. INSERT INTO `tblpagosxfactura` (`NroPago`, `NroFactura`, `Valor`, `Fecha`, `Descripcion`, `TipoPago`, `Moneda`) VALUES
  14. (1, 00001, 10000000, '2012-10-05', 'Pago en efectivo a la Fac Nro. 00001  por el valor de 10''000.000', 'Cash', 'COP'),
  15. (4, 00001, 10000000, '2012-10-16', 'Pago en cheque por 10''000.000', 'Check', 'COP'),
  16. (7, 00001, 5000000, '2012-10-19', 'Pago en efectivo', 'Cash', 'COP');

La tabla tblcliente se relaciona con tblfactura por medio de IdCliente y tblfactura se relaciona con tblpagosxfactura por medio de NroFactura