有效地验证SQL(雪花)中的连接(特别是行计数)



我正在Snowflake中使用多个CTE连接。如何验证连接?我目前正在验证一个非常手动的过程,检查1:1连接,一次一个。然后寻找重复的值、数据质量问题等。我以几种不同的方式查询结果,询问可以改进连接的特定方式,注意所有查询结果计数并解决差异。我目前正在处理的数据理想情况下应该与基表的行数相同。一个连接返回一个稍微小一点的结果,另一个返回一个稍微大一点的结果。肯定有比我现在正在做的人工审讯更有效的方法来追查根本原因。

我想做的是:找到一种方法为我返回多个并发分析,例如:

  • 每个表在加入
  • 之前的大小
  • 每个表中包含了多少行
  • 每个表中有多少行被排除在连接之外
  • 在"many"中有多少行被多次使用?一对多连接的一部分(我目前通过group by和count(*)>1)

我正在Snowflake工作,但我可以访问其他工具。欢迎各抒己见。

我想你是在问如何有效地评估SQL语句以确保它返回正确的结果。如果这是你想问的,那么在我看来,没有办法自动化,因为每个SQL语句都是不同的,我无法想象如何设置某种框架/自动化会比手动运行特定语句的适当检查更有效。

在检查结果时,有一个逻辑上的过程显然是有意义的。然而,我看不出你列出的至少一些检查的意义——因为我不明白它们提供的信息如何告诉你SQL是否正确

相关内容

最新更新