Hola,
lo que haría sería crear una tabla denominada factura la cual se relacione con la tabla cliente.
tabla factura
Código:
CREATE TABLE `factura` (
`fac_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`fac_numero` INT( 10 ) NOT NULL ,
`fac_emision` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`fac_vencimiento` TIMESTAMP NOT NULL ,
`fac_monto` INT( 10 ) NOT NULL ,
`cli_id` INT( 10 ) NOT NULL ,
`est_id` INT( 3 ) NOT NULL
UNIQUE (
`fac_numero`
)
) ENGINE = innodb CHARACTER SET latin1 COLLATE latin1_spanish_ci;
tabla cliente
Código:
CREATE TABLE `cliente` (
`cli_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`cli_cod` VARCHAR( 20 ) NOT NULL ,
`cli_razonSocial` VARCHAR( 200 ) NOT NULL ,
UNIQUE (
`cli_cod`
)
) ENGINE = innodb CHARACTER SET latin1 COLLATE latin1_spanish_ci;
tabla estado
Código:
CREATE TABLE `estado` (
`est_id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`est_nombre` VARCHAR( 80 ) NOT NULL ,
UNIQUE (
`est_nombre`
)
) ENGINE = innodb CHARACTER SET latin1 COLLATE latin1_spanish_ci;
Código:
INSERT INTO `estado` (`est_id`, `est_nombre`) VALUES
(2, 'Cancelada'),
(1, 'Pendiente');
Para saber las facturas pendientes de un cliente en particular hago lo siguiente...
Código:
SELECT f.fac_numero, f.fac_emision, f.fac_monto
FROM factura f, cliente c, estado e
WHERE f.est.id=e.est_id AND f.cli_id=c.cli_id AND f.cli_id=1 AND f.est_id=1;
Esta query dará como resultado el número de factura, fecha de emisión y monto de todas las facturas pendientes del cliente 1.
Espero te sirva de ayuda.... Obviamente tienes que ajustar el resultado en base a tus necesidades.