mysql数据对比同步_跨数据库mysql语句同步数据和对比运算

本文介绍了一种从A数据库同步产品信息到B数据库报价系统的策略。通过分析A数据库的产品选项及价格,排除特殊值,并将有效数据与B数据库进行比对,最终确定产品零售价及不同用户组的价格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,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排除的,也缺少把分组价格也弄过去的。

已解决。

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值