Haga una tabla compuesta, es decir, ClientCharges
Puede mantener su tabla de cargos original y su tabla de clientes y en la tabla de cargos de clientes tener las siguientes columnas:
ClientChargeId, ClientId, ChargeId
En su tabla de Cargos, puede seguir agregando (cuantos Cargos necesite) y luego hacer referencia al Id. de Cargo en la tabla de Cargos de Cliente.
CREATE TABLE ClientCharges
(
ClientChargeId INT IDENTITY(1,1)
, ClientId INT
, ChargeId INT
)
INSERT INTO ClientCharges
(ClientId, ChargeId)
VALUES
(1, 1),
(1,2),
(1,3),
(1,4),
(2,1),
(3,1),
(3,2),
(4,3),
(4,4)
- Cliente 1 tiene Cargos 1, 2, 3 y 4
- El cliente 2 tiene el cargo 1
- El cliente 3 tiene los cargos 1 y 2
- El cliente 4 tiene los cargos 3 y 4
Luego agregue restricciones de clave externa en los campos ClientId y ChargeId.