2014-10-02 159 views
0

測試和生產中的表的計數(*)返回相同的值。但是,該表的用戶正在進行一些驗證/測試,並注意到兩個環境之間的列/字段的總和不同。作爲我們兩個人之間更好的SQL用戶,我試圖找出如何找到差異。測試和生產環境之間的數據不同

這樣做的好方法是什麼?這不是什麼大不了的表(約1個磨),但我想繼續查詢/語句,而小

這是Teradata的

+0

我們正在處理什麼數據庫? – hd1 2014-10-02 16:26:54

+0

在Production和Test之間,表中的主鍵是否匹配?另外,我們可以看到列名和類型,所以我們知道我們正在處理什麼?你不必把整個表格結構給我們,只是一小部分。 – guildsbounty 2014-10-02 16:27:42

+0

sql服務器?甲骨文? MySQL的?其他? – Fredou 2014-10-02 16:29:01

回答

1

好吧,這裏是一個框架,爲您打造關閉那麼。既然你正在尋找總和之類的東西,你需要爲此組裝大部分的WHERE子句,因爲我沒有足夠的信息來知道你正在求和的東西。所以,我會寫這個發現在行本身的數據差異...

SELECT t1.id 
FROM Production.[schema].table1 t1 
INNER JOIN Test.[schema].table1 t2 ON t1.id = t2.id 
WHERE t1.column <> t2.column 
.... 

只需按下你要比較到WHERE子句中的列...這將同步上漲,從TEST和PROD兩個表並讓你尋找列之間的差異。它會返回一個不匹配的行ID的列表。

+0

好的,這看起來很無痛和容易。謝謝 – simplycoding 2014-10-02 16:49:17

+0

如果它有效,它也將是非常無痛和容易接受答案...只是一個提醒。 – Smandoli 2014-10-02 17:17:48

相關問題