我创建了一个使用多个CTE(主要用于递归分层工作)的复杂流程。
对于小样本数据集,一切都按预期进行,但是当我将代码应用于大量数据时,我收到了意想不到的(和错误的)结果。来自CTE的意外结果
我想我已经缩小了它对CTE的影响。递归CTE是在几个较早的CTE中处理的“喂食”数据,这似乎是问题所在。
我设置了sample data set如下:
- 四排具有独特数据
- 每一行接收随机行数(这在一个CTE
然后加入我走第一个CTE的结果并在第二个CTE中执行自连接
我预计所有行都会加入,每个行自身都会加入,实际发生的情况是不相等的行加起来,
有人可以提供这种行为的解释吗?
可能的重复http://stackoverflow.com/questions/3511353/how-many-times-are-the-results-of-this-common-table-expression-evaluated – RichardTheKiwi