mysql数据对比同步_跨数据库mysql语句同步数据和对比运算
首先,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排除的,也缺少把分組價格也弄過去的。
已解決。
展開
總結
以上是生活随笔為你收集整理的mysql数据对比同步_跨数据库mysql语句同步数据和对比运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进入bios后怎么设置安装 在BIOS中
- 下一篇: 怎么设置电脑c盘启动不了怎么办啊 电脑C