Вопросы с тегом «recursive»

Использование рекурсии для решения проблем с базой данных.

33
Использование EXCEPT в рекурсивном общем табличном выражении

Почему следующий запрос возвращает бесконечные строки? Я бы ожидал, что EXCEPTпункт прекратить рекурсию .. with cte as ( select * from ( values(1),(2),(3),(4),(5) ) v (a) ) ,r as ( select a from cte where a in (1,2,3) union all select a from ( select a from cte except select a from r ) x ) select a...

19
Как на самом деле работает рекурсия SQL?

В отличие от SQL из других языков программирования, структура рекурсивного запроса выглядит довольно странно. Пройдите через это шаг за шагом, и это, кажется, разваливается. Рассмотрим следующий простой пример: CREATE TABLE #NUMS (N BIGINT); INSERT INTO #NUMS VALUES (3), (5), (7); WITH R AS (...

17
Как рекурсивно найти промежутки, где прошло 90 дней, между рядами

Это своего рода тривиальная задача в моем домашнем мире C #, но я еще не сделал это в SQL и предпочел бы решать ее на основе множеств (без курсоров). Набор результатов должен исходить из запроса, подобного этому. SELECT SomeId, MyDate, dbo.udfLastHitRecursive(param1, param2, MyDate) as 'Qualifying'...

16
Рекурсивный CTE, чтобы найти Всего для всех детей

Вот дерево сборки, которое я хочу найти с помощью рекурсивного T-SQLзапроса (предположительно CTE) с ожидаемыми результатами ниже. Я хочу знать общую сумму на каждую сборку с учетом любой детали. То есть, если я ищу «Заклепка», я хочу знать общее количество на каждом уровне в сборке, а не только...

15
PostgreSQL Рекурсивная Глубина Потомка

Мне нужно вычислить глубину потомка от его предка. Когда запись имеет object_id = parent_id = ancestor_id, она считается корневым узлом (предком). Я пытался запустить WITH RECURSIVEзапрос с PostgreSQL 9.4 . Я не контролирую данные или столбцы. Схема данных и таблиц поступает из внешнего источника....

12
Как отсортировать результаты рекурсивного запроса в расширенном древовидном режиме?

Предположим, у вас есть nodesтакие таблицы: CREATE TABLE nodes ( node serial PRIMARY KEY, parent integer NULL REFERENCES nodes(node), ts timestamp NOT NULL DEFAULT now() ); Он представляет собой стандартную узловую древовидную структуру с корневыми узлами вверху и несколькими дочерними узлами,...

12
Изменить системное значение по умолчанию для maxrecursion

Как изменить общесистемное значение по умолчанию MAXRECURSION? По умолчанию это 100, но мне нужно увеличить его до 1000. Я не могу использовать подсказки запроса, так как я использую программу, которая принимает мой запрос и выполняет его для меня, и я, к сожалению, не могу обойти это ограничение....

12
Как отфильтровать использование определяемой пользователем скалярной функции из данных аудита SQL Server?

У нас есть база данных SQL Server, которая имеет спецификацию аудита базы данных, которая проверяет все выполняемые действия в базе данных. CREATE DATABASE AUDIT SPECIFICATION [dbAudit] FOR SERVER AUDIT [servAudit] ADD (EXECUTE ON DATABASE::[DatabaseName] BY [public]) Мы обнаружили, что некоторые...

11
Концептуальная ERD Multi-table многие ко многим или, возможно, рекурсивные?

Я создаю концептуальную диаграмму [да, я знаю, что я включил атрибуты и ключи - но это только для меня, чтобы консолидировать то, что я делаю во время обучения] - поэтому, пожалуйста, рассматривайте ее как концептуальную с акцентом на отношения и а не таблицы как на диаграмме;) Мое препятствие...

8
Рекурсивная производительность CTE

Нужна помощь с рекурсивной производительностью CTE. Ниже CTE работает очень медленно, так как пытается рекурсивно извлекать иерархические данные. Таблица большая с каждым корневым идентификатором, имеющим до 3 рекурсивных элементов. Может быть около 200000 или более корневых идентификаторов. Я...

8
Поиск всех соединений, необходимых для программного объединения таблицы

Учитывая SourceTable и TargetTable, я хотел бы программно создать строку со всеми необходимыми объединениями. Короче говоря, я пытаюсь найти способ создать строку, как это: FROM SourceTable t JOIN IntermediateTable t1 on t1.keycolumn = t.keycolumn JOIN TargetTable t2 on t2.keycolumn = t1.keycolumn...

8
Почему этот рекурсивный CTE с параметром не использует индекс, когда он использует литерал?

Я использую рекурсивный CTE в древовидной структуре, чтобы перечислить всех потомков определенного узла в дереве. Если я напишу значение литерального узла в своем WHEREпредложении, SQL Server фактически применяет CTE только к этому значению, предоставляя план запроса с низким фактическим числом...