Ver Mensaje Individual
  #8  
Antiguo 04-11-2011
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 31
Lepe Va por buen camino
Gracias por ampliar el mensaje, ahora es más fácil hacerse una idea de lo que necesitas.

Te aconsejo busques un manual de SQL para tu BBDD en cuestión porque te será mucho más fácil atacar estos problemas. Según lo dicho, todos los productos deben facturarse todos los meses, y para todos los clientes, porque es algo periódico, de ahí el nombre de la tabla cargos fijos, por tanto quedaría así:

La mejor forma de entender este mamotreto es desde dentro hacia afuera, es decir:
- la consulta más interna lo que hace es unir la tabla productos y clientes en una sola tabla temporal de forma que cada fila identifica un producto determinado de un cliente. De esa tabla, solo nos quedamos con el codigo del cliente (clientes.tc_cliente) y del codigo de producto (productos.codigoproducto).

- Ahora vamos a la consulta más externa: es una inserción masiva en dos campos de la tabla cargosfijos codigo cliente y codigo producto, y los valores que insertará será precisamente los de la consulta anterior, por tanto al final tenemos en cargosfijos "Un registro por cada producto de cada cliente" useasé, cargos fijos por esos productos mensuales consumidos.

Código SQL [-]
insert into cargosfijos(cf_codigocliente, cf_producto)
VALUES ( 
select clientes.tc_cliente, productos.codigoproducto 
from clientes inner join productos  on clientes.tc_cliente = productos.codigocliente)

He vuelto a suponer que en la tabla productos: el código de un producto lo guardas en el campo codigoproducto y además el código de cliente de ese producto lo guardas en el campo codigocliente

No he trabajado con TDBISAM, pero ese código es código SQL por lo que debería funcionar perfectamente.

Saludos y reitero las gracias por completar de forma detallada tu problema y tablas, así da gusto responder a mensajes... aunque sea un viernes a las 23:30
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita