2017-03-08 22 views
0

我有一个数据库中的数据,我试着检查今天和昨天之间的数据有什么不同。这是同一个IP值,但不同的进口日期和节点某些值发生更改的查询数据

 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) 

//查询数据值

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

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

+0

也许你需要发布你的表(S)架构让别人明白你有 – Yazan

+0

@Yazan,我添加图片作为您的建议。希望这个帮助其他人了解我的问题:) – HeAu

回答

0

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

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 
+0

谢谢。这是我的问题正确的查询。 :) – HeAu

+0

然后请把它也标记为,我需要点数,我需要它们;)。 – KLHauser

+0

对不起,我做不到。因为系统不允许。 :( – HeAu