合并重复的客户和销售

时间:2012-09-11 19:18:23

标签: sql windows-server-2008-r2

我有一个问题,我无法想出一个很好的方法来解决它,这是使用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。

1 个答案:

答案 0 :(得分:1)

我会再制作两张桌子。

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

这个映射表应该存储旧映射表的id,以及它作为新映射映射到的映射表。

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