Неожиданные результаты от CTE
Мы создали сложный процесс, который использует несколько CTE (в основном для рекурсивной иерархической работы).
На небольших выборочных наборах данных все идет как положено, но когда я применяю код к большим наборам данных, я получаю неожиданные (и неправильные) результаты.
Я думаю я'мы сделали это для CTE. Рекурсивные CTE являются "кормили" данные обрабатываются в нескольких более ранних CTE, и это, похоже, является проблемой.
Я создалпримерный набор данных следующее:
Четыре строки с уникальными даннымиКаждая строка получает случайный номер строки (это добавляется в CTEЗатем я беру результаты первого CTE и выполняю самостоятельное объединение во втором CTE.
Я ожидал, что все ряды соединятся, каждый в себя. Что на самом деле происходит, так это то, что неравные строки объединяются.
Может ли кто-нибудь предложить объяснение этому поведению?