Задать вопрос
@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 выше? Как это можно сделать? Спасибо!
  • Вопрос задан
  • 57 просмотров
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    SQL для разработки
    4 месяца
    Далее
  • Академия Eduson
    SQL-разработчик: тариф Базовый
    3 месяца
    Далее
  • Stepik
    SQL с нуля до PRO
    2 недели
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы