mysql数据对比同步_跨数据库mysql语句同步数据和对比运算
首先,A數(shù)據(jù)庫【需要同步的數(shù)據(jù)庫】A_product數(shù)據(jù)表【產(chǎn)品基本信息】product_id產(chǎn)品唯一IDprice產(chǎn)品價格A_product_option_value數(shù)據(jù)表【產(chǎn)品選項】product_id產(chǎn)品唯一IDprice差價quan...
首先,A數(shù)據(jù)庫【需要同步的數(shù)據(jù)庫】
A_product 數(shù)據(jù)表【產(chǎn)品基本信息】
product_id 產(chǎn)品唯一ID
price 產(chǎn)品價格
A_product_option_value 數(shù)據(jù)表 【產(chǎn)品選項】
product_id 產(chǎn)品唯一ID
price 差價
quantity 數(shù)量
gno 同步產(chǎn)品用的唯一標識 每個產(chǎn)品的每個選項的gno是唯一的
A_product_special 數(shù)據(jù)表 【用戶組價格】
customer_group_id = 3 的 price = 內(nèi)部價
customer_group_id = 4 的 price = 代理價
customer_group_id = 5 的 price = VIP價
-----------------------------------
B數(shù)據(jù)庫【報價數(shù)據(jù)】
B_price 數(shù)據(jù)表
GNO 同步產(chǎn)品用的唯一標識 和上面的gno對應(yīng)
PRICE 對應(yīng)零售價
INPRICE 對應(yīng) 經(jīng)銷商價
PROXYPRICE 對應(yīng) 代理價
VIPPRICE 對應(yīng) VIP價
首先,我從 A_product_option_value 【產(chǎn)品選項】找出gno字段有值的數(shù)據(jù),把gno有值的數(shù)據(jù)中product_id相同的幾個數(shù)據(jù)拿出來,在B_price 查到對應(yīng)gno的PRICE的值,這幾個值中,如果存在0,那么就寫入A_product_option_value 這個表中的 quantity 【數(shù)量】為0,而且不進行對比和計算差價,把另外的數(shù)據(jù)對比,最小的數(shù),填寫在 A_product 對應(yīng)的 product_id 的 price 值。其他的和 這個最小的做運算。得到的差價,寫入 A_product_option_value 對應(yīng)的GNO的值!
然后把最小的price對應(yīng)的 INPRICE、PROXYPRICE 和 VIPPRICE 寫入 A_product_special 中 customer_group_id = 3 、=4、=5 對應(yīng)的price的值。
例如 :
A_product 數(shù)據(jù)表【產(chǎn)品基本信息】
product_id 、price
10086、1000
A_product_option_value 數(shù)據(jù)表 【產(chǎn)品選項】
product_id 、price、quantity 、 gno
10086、0、0、ABC
10086、0、10、DEF
10086、50、10、FGH
10086、100、10、JKL
A_product_special 數(shù)據(jù)表 【用戶組價格】
product_id 、customer_group_id 、 price
10086 、3、900
10086、4、950
10086、5、980
--------------------
B_price 數(shù)據(jù)表
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
情況就是大概這樣。我不知道應(yīng)該怎么寫,現(xiàn)在只有兩個代碼,可是這兩個代碼缺少把0排除的,也缺少把分組價格也弄過去的。
已解決。
展開
總結(jié)
以上是生活随笔為你收集整理的mysql数据对比同步_跨数据库mysql语句同步数据和对比运算的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进入bios后怎么设置安装 在BIOS中
- 下一篇: python mysql 分号_Pyth