Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/11/2008, 15:07
Avatar de xempro
xempro
 
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 18 años
Puntos: 6
Mensaje Respuesta: [AYUDA] Facturas

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.