需要帮助比较来自2个不同mysql表的数据

时间:2014-05-09 19:58:34

标签: mysql comparison

我有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。

3 个答案:

答案 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)

Demo

答案 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