首先,A数据库【需要同步的数据库】A_product数据表【产品基本信息】product_id产品唯一IDprice产品价格A_product_option_value数据表【产品选项】product_id产品唯一IDprice差价quan...
首先,A数据库【需要同步的数据库】
A_product 数据表【产品基本信息】
product_id 产品唯一ID
price 产品价格
A_product_option_value 数据表 【产品选项】
product_id 产品唯一ID
price 差价
quantity 数量
gno 同步产品用的唯一标识 每个产品的每个选项的gno是唯一的
A_product_special 数据表 【用户组价格】
customer_group_id = 3 的 price = 内部价
customer_group_id = 4 的 price = 代理价
customer_group_id = 5 的 price = VIP价
-----------------------------------
B数据库【报价数据】
B_price 数据表
GNO 同步产品用的唯一标识 和上面的gno对应
PRICE 对应零售价
INPRICE 对应 经销商价
PROXYPRICE 对应 代理价
VIPPRICE 对应 VIP价
首先,我从 A_product_option_value 【产品选项】找出gno字段有值的数据,把gno有值的数据中product_id相同的几个数据拿出来,在B_price 查到对应gno的PRICE的值,这几个值中,如果存在0,那么就写入A_product_option_value 这个表中的 quantity 【数量】为0,而且不进行对比和计算差价,把另外的数据对比,最小的数,填写在 A_product 对应的 product_id 的 price 值。其他的和 这个最小的做运算。得到的差价,写入 A_product_option_value 对应的GNO的值!
然后把最小的price对应的 INPRICE、PROXYPRICE 和 VIPPRICE 写入 A_product_special 中 customer_group_id = 3 、=4、=5 对应的price的值。
例如 :
A_product 数据表【产品基本信息】
product_id 、price
10086、1000
A_product_option_value 数据表 【产品选项】
product_id 、price、quantity 、 gno
10086、0、0、ABC
10086、0、10、DEF
10086、50、10、FGH
10086、100、10、JKL
A_product_special 数据表 【用户组价格】
product_id 、customer_group_id 、 price
10086 、3、900
10086、4、950
10086、5、980
--------------------
B_price 数据表
GNO 、PRICE、INPRICE 、PROXYPRICE、VIPPRICE
ABC、 0、 0、 0、 0
DEF、1000、 900、 950 980
GHI 1050 950、 1000、 1030
JKL 1100 1000 1050 1080
情况就是大概这样。我不知道应该怎么写,现在只有两个代码,可是这两个代码缺少把0排除的,也缺少把分组价格也弄过去的。
已解决。
展开