Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2017, 07:50
mvlsistemas
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Select a tres tablas con el id de una

Hola a todos/as.
Tengo una tabla cliente en que registro los mismos y después estos pueden commprar con factura a o b.
Tengo dos tablas factura y facturaa.
el id_cliente se toma de la tabla cliente y en cada factura se registra en la a o b como id_cliente.

necesito para hacer un reporte en jasperreports usando la consulta que me seleccione todas las facturas a y aa que tengan el mismo id_cliente o los id_cliente que estén en una u otra solamente.

Logro traerlos pero me los repite los registros o me toma todo mezclado.

Gracias!!

Código:
SELECT clie.nombre_cliente, fac.id_factura, fac.id_cliente, fac.fecha_factura, fac.tipo_factura, fac.total, faca.id_factura, faca.id_cliente, faca.fecha_factura, faca.tipo_factura, faca.total
FROM clientes AS clie
JOIN factura AS fac ON clie.id_cliente = fac.id_cliente
LEFT JOIN facturaa AS faca ON clie.id_cliente = faca.id_cliente
WHERE clie.id_cliente =  '26'
esa es la consulta.
Tabla factura
Código:
 CREATE TABLE `factura` (
  `id_factura` int(11) unsigned NOT NULL auto_increment,
  `id_cliente` int(11) default NULL,
  `fecha_factura` varchar(70) NOT NULL,
  `tipo_factura` varchar(4) NOT NULL,
  `formade_pago` varchar(70) NOT NULL,
  `total` double NOT NULL,
  PRIMARY KEY  (`id_factura`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=221 ;
Código:
Tabla facturaa
Código:
CREATE TABLE `facturaa` (
  `id_factura` int(11) unsigned NOT NULL auto_increment,
  `id_cliente` int(11) NOT NULL,
  `fecha_factura` varchar(70) NOT NULL,
  `tipo_factura` varchar(4) NOT NULL,
  `total` double NOT NULL,
  PRIMARY KEY  (`id_factura`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=78 ;
tabla clientes
CREATE TABLE `clientes` ( `id_cliente` int(11) unsigned zerofill NOT NULL auto_increment, `nombre_cliente` varchar(50) NOT NULL, `dni_cliente` varchar(12) NOT NULL, `direccion_cliente` varchar(80) NOT NULL, `telefono_cliente` varchar(12) default NULL, `email_cliente` varchar(60) default NULL, `direccionparaenvios` varchar(300) default NULL, PRIMARY KEY (`id_cliente`), UNIQUE KEY `dni_cliente` (`dni_cliente`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=21 ;