Resultados inesperados do CTE
Eu criei um processo complexo que usa vários CTEs (principalmente para trabalho hierárquico recursivo).
Em conjuntos de dados de amostra pequenos, tudo funciona conforme esperado, mas quando aplico o código a grandes conjuntos de dados recebi resultados inesperados (e errados).
Acho que reduzi o trabalho para os CTEs. Os CTEs recursivos são dados "alimentados" processados em vários CTEs anteriores, e esse parece ser o problema.
Eu configurei umconjunto de dados de amostra do seguinte modo:
Quatro linhas com dados exclusivosCada linha recebe um número de linha aleatória (isso é adicionado em um CTEEntão eu tomo os resultados do primeiro CTE e executo uma auto-adesão em um segundo CTE.
Eu esperava que todas as linhas se juntassem, cada uma a si mesma. O que realmente acontece é que as linhas desiguais se juntam.
Alguém pode oferecer uma explicação para esse comportamento?