我有2个数据库表,innov8_data& innov8_data_fps。
innov8_data是我的主表,innov8_data_fps每天从导入脚本中填充一次新数据。
我需要做的是确定从导入到innov8_data_fps的新数据中的innov8_data的差异。
我的数据结构是两个表的id,sku,free_stock。
innov8_data的前3行;
1,08-143800-00,0
2,DC83406,8
3,HBS106,0
现在,如果innov8_data_fps的前3行如下;
1,08-143800-00,0
2,DC83406,8
3,HBS106,8
我需要能够识别具有相同sku的项目的free_stock列的更改。 id列与每个相同的产品不一致,因为新导入可以有更多或更少的sku。
答案 0 :(得分:0)
你可以这样做
SELECT t.*,
t1.free_stock - t.free_stock `changes`
FROM innov8_data t
JOIN innov8_data_fps t1
ON(t.sku = t1.sku)
答案 1 :(得分:0)
之前的答案基本上是钉在它上面的,除了没有过滤出“更改”= 0的结果。如果需要,我建议这个增强:
SELECT t.*,
t1.free_stock - t.free_stock `changes`
FROM innov8_data t
JOIN innov8_data_fps t1
ON(t.sku = t1.sku)
WHERE t1.freestock - t.free_stock != 0;
答案 2 :(得分:0)
我已经设法修改了之前发布的代码SQL语句,现在让它按照我的意愿运行,感谢您的帮助。
SELECT t1.*,
t1.free_stock <> t.free_stock `changes`
FROM innov8_data t
JOIN innov8_data_fps t1
ON(t.sku = t1.sku)
WHERE t1.free_stock <> t.free_stock