7 messages in com.mysql.lists.mysql-esRegistros no coincidentes
FromSent OnAttachments
Juan Jose Hernandez26 Jan 2007 12:18 
Grover Campos A.26 Jan 2007 13:37 
Juan Jose Hernandez26 Jan 2007 13:57 
Bonjo29 Jan 2007 05:43 
Grover Campos A.29 Jan 2007 08:23 
Mauricio A. Ferrari05 Feb 2007 05:38 
Grover Campos A.05 Feb 2007 10:15 
Subject:Registros no coincidentes
From:Juan Jose Hernandez (juan@ranchobanderas.com)
Date:01/26/2007 12:18:46 PM
List:com.mysql.lists.mysql-es

Que tal Lista!

Tengo una situación con un par de tablas, espero me puedan ayudar.

La primera tabla es de mis clientes; la segunda de las facturas que les he enviado.

CREATE TABLE `contratos` ( `num_cont` int(5) NOT NULL auto_increment, `contract` varchar(7) NOT NULL default '', `address` varchar(45) NOT NULL default '', `city` varchar(20) NOT NULL default '', `state` varchar(20) NOT NULL default '', `zip` varchar(10) NOT NULL default '', `country` varchar(20) NOT NULL default '', `email` varchar(40) default NULL, PRIMARY KEY (`num_cont`,`contract`), UNIQUE KEY `contract` (`contract`) ) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=1 ;

CREATE TABLE `facturas` ( `num_fact` int(7) NOT NULL auto_increment, `contract` varchar(7) NOT NULL default '', `usage_year` varchar(4) NOT NULL default '', `fecha_fact` date NOT NULL default '0000-00-00', `tot_fact` decimal(7,2) NOT NULL default '0.00', PRIMARY KEY (`num_fact`), UNIQUE KEY `contract` (`contract`,`anio_uso`) ) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=12 ;

En la tabla “Facturas” el campo “usage_year” es el que registra el año de uso.

Quisiera saber a cuales de mis clientes no les he enviado la factura de este año.

He utilizado el siguiente query:

SELECT contratos.contract AS el_contrato, datecont, address, city, state, zip, country, email, email2,

FROM contratos LEFT JOIN facturas ON contratos.contract=facturas.contract

WHERE LOWER(country) != 'mexico'

AND facturas.contract IS NULL

Pero me trae los registros de contratos que no tienen factura alguna.

Gracias!

Juanjo