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

8
Как я могу получить иерархические значения из запроса ниже?

У меня есть таблица с именем Categoryстолбца CategoryID. В той же таблице есть столбец ссылок fParentCategoryID. Мне нужно, чтобы все идентификаторы категорий и идентификаторы их подкатегорий были разделены запятой. Например: если ID родительской категории 10 равен 1, а ID родительской категории 20...

8
Использование CTE в IF EXISTS Query

Можно ли сделать что-то похожее на следующее в SQL Server 2012? IF EXISTS ( WITH DATA AS ( SELECT *, ROW_NUMBER() OVER(PARTITION BY column ORDER BY Column) AS rn FROM table ) SELECT * FROM DATA WHERE rn = 2 ) BEGIN ... END Я попытался использовать этот синтаксис и получил ошибку. Если это...

8
Проверьте, есть ли какое-либо из значений в результате подзапроса

У меня сложный подзапрос, который возвращает список идентификаторов заказа. Мне нужно получить список клиентов, у которых есть эти заказы. Проблема заключается в том, что существует два способа назначения клиента для заказа (одно из двух полей). Я мог бы просто сделать что-то вроде этого: select *...

8
Почему CTE открыт для потерянных обновлений?

Я не понимаю, что имел в виду Крейг Рингер, когда он комментировал: Это решение может потерять обновления, если транзакция вставки откатывается; нет никакой проверки, чтобы убедиться, что ОБНОВЛЕНИЕ затронуло любые строки. на https://stackoverflow.com/a/8702291/14731 . Пожалуйста, предоставьте...

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

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