0

我有一个问题,我想不出一个好的方法来解决它,这是使用 SQLServer 2008R2。

我有 3 张桌子

Client, Invoice, Car

客户重复 n 次,但每个客户都有一张票和一个产品。

所以我正在尝试整合客户(使用唯一标识符),现在我的问题是如何更新产品和票证上的参考字段。

例子

**Client**

[Nombre]
      ,[Apellido_Paterno]
      ,[Apellido_Materno]
      ,[Sexo]
      ,[Estado_Civil]
      ,[Fecha_Nacimiento]
      ,[RFC]
      ,[Saludo]
      ,[Persona]
      ,[Razon_Social]
      ,[Direccion]
      ,[Colonia]
      ,[Municipio_Delegacion]
      ,[Estado]
      ,[Codigo_Postal]
      ,[Lada_Casa]
      ,[Telefono_Casa]
      ,[Ext_Telefono_Casa]
      ,[Lada_Oficina]
      ,[Telefono_Oficina]
      ,[Ext_Telefono_Oficina]
      ,[Telefono_Celular]
      ,[Email_Personal]
      ,[Vehiculo_Actual_Anterior]
      ,[Marca_Actual_Anterior]
      ,[AnioModelo_Actual_Anterior]
      ,[Color_Actual_Anterior]
      ,[Escolaridad]
      ,[Venta_Id]
      ,[Nombre1]
      ,[Nombre2]

**Invoice**

[Factura_Cliente]
      ,[Factura_Distribuidor]
      ,[Precio_Base_Vehiculo]
      ,[Precio_Accesorios]
      ,[Precio_Vehiculo_DeContado]
      ,[Descuento]
      ,[Incentivo_Calculado]
      ,[Fecha_Entrega_DelVehiculo]
      ,[Fecha_Factura_Cliente]
      ,[Clave_Distribuidor]
      ,[Seguro_Gratis]
      ,[Clave_Promocion]
      ,[Tipo_Venta]
      ,[Unidad_de_Intercambio]
      ,[Venta_Id]

**Car**

[Modelo]
      ,[Marca]
      ,[AnioModelo]
      ,[Basico]
      ,[Cabecera]
      ,[Version]
      ,[Color_Exterior]
      ,[Color_Interior]
      ,[VIN]
      ,[Motor]
      ,[Transmision]
      ,[Origen]
      ,[Basico_Linea_Modelo]
      ,[Venta_Id]

我可以整合客户(即使他们的领域存在差异),但我找不到有效的解决方案。

编辑:客户端上的第一列显示重复项,而第二列是与票证和产品匹配的 id。

4

1 回答 1

1

我会再做两张桌子。

一个用于新的合并客户端(与普通客户端具有所有相同的字段)以及旧客户端和新客户端之间的映射表。

此映射表应存储旧的 id,并将其映射为新的。

从这里开始很容易。根据映射表中当前的旧 id 用新 id 更新其他表。

于 2012-09-11T19:25:13.117 回答