2017-03-08 17 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