【问题标题】:query data that some values change查询某些值发生变化的数据
【发布时间】:2017-03-08 12:12:05
【问题描述】:

我在数据库中有数据,我尝试检查今天和昨天的数据有何不同。

     select distinct prefix_id,node_name,prefix_cidr 
     FROM tableA AS old 
     WHERE import_date = '2017-03-06' 
     AND prefix_cidr 
     IN 
         (SELECT prefix_cidr 
         FROM tableA 
         WHERE old.import_date <> import_date 
         AND old.prefix_cidr = prefix_cidr 
         AND node_name <> old.node_name)

//查询ip值相同但导入日期和节点值不同的数据

我得到以下结果,但它不正确。 例如:

2017-03-01|x.x.x.x|AAA
2017-03-06|x.x.x.x|AAA

以下是我需要的结果 例如:

2017-03-01|x.x.x.x|AAA
2017-03-06|x.x.x.x|BBB

节点发生变化时获取数据

这是我的数据

https://i.stack.imgur.com/xomO7.png

【问题讨论】:

  • 也许您需要发布您的表格架构,以便其他人了解您拥有的内容
  • @Yazan,我按照你的建议添加了图片。希望这有助于其他人理解我的问题:)

标签: mysql compare


【解决方案1】:

我会假设你在那个方向需要一些东西:

SELECT distinct 
 old.prefix_id
 , old.node_name
 , old.prefix_cidr
 , new.prefix_id
 , new.node_name
 , new.prefix_cidr 
FROM tableA AS old, tableA AS new
WHERE old.import_date = '2017-03-06' 
 AND old.import_date <> new.import_date 
 AND old.prefix_cidr = new.prefix_cidr 
 AND old.node_name <> new.node_name

【讨论】:

  • 谢谢。这是我的问题的正确查询。 :)
  • 那么请将它也标记为,我需要积分,我需要它们;)。
  • 对不起,我做不到。因为系统不允许。 :(
  • 悲伤的事情,然后破解它! ;)
猜你喜欢
  • 1970-01-01
  • 2022-01-15
  • 2020-09-22
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多