我创建了一个使用多个 CTE(主要用于递归分层工作)的复杂过程。
在小样本数据集上,一切都按预期进行,但是当我将代码应用于大数据集时,我收到了意外(和错误)的结果。
我认为我已经将其范围缩小到 CTE。递归 CTE 是在几个早期 CTE 中处理的“馈送”数据,这似乎是问题所在。
我设置了一个示例数据集,如下所示:
- 具有唯一数据的四行
- 每行接收一个随机行号(这是在 CTE 中添加的
然后,我获取第一个 CTE 的结果并在第二个 CTE 中执行自联接。
我希望所有行都加入,每个行都加入。实际发生的是不相等的行连接起来。
有人可以为这种行为提供解释吗?