@denislysenko
data engineer

Как переписать with as где используется рекурсия?

есть такой код
WITH ParentDocs AS
(
SELECT doc.DocId, doc.ParentDocGUID, doc.doc_guid, doc.db_id, 0 AS doc_level, doc.DocId
  FROM TV_DocsTableInternet doc
 UNION ALL
SELECT e.DocId, e.ParentDocGUID, e.DocGUID, e.db_id, doc_level + 1, d.Cheque_docid as Cheque_docid
  FROM TV_DCT_Docs e
  JOIN ParentDocs d
    ON e.db_id = d.db_id 
   AND e.doc_guid = d.parent_doc_guid
   AND e.doc_guid <> d.doc_guid
)


В среде в которой я работаю with не поддерживает рекурсию.
Есть ли какой-то другой способ в SQL переписать эту конструкцию with, чтобы получить ParentDocs, которая была собрана по той же логике что и в конструкции with выше? Как это можно сделать? Спасибо!
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы