2014-10-02 72 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

相关问题