Вопросы с тегом «common-table-expression»

Общее табличное выражение (CTE) - это временный набор результатов, который определяется в пределах области выполнения одного оператора SELECT, INSERT, UPDATE, DELETE или CREATE VIEW.

9
Когда использовать Common Table Expression (CTE)
Я начал читать о Common Table Expression и не могу вспомнить случай использования, когда мне нужно было бы их использовать. Они кажутся избыточными, как то же самое можно сделать с производными таблицами. Я что-то упускаю или плохо понимаю? Может ли кто-нибудь дать мне простой пример ограничений с помощью регулярных запросов …

4
Есть ли разница в производительности между CTE, подзапросом, временной таблицей или переменной таблицы?
В этом превосходном вопросе SO различия между CTEи sub-queriesбыли обсуждены. Я хотел бы специально спросить: При каких обстоятельствах каждое из следующих действий более эффективно / быстрее? КТР Sub-запросы Временный стол Переменная таблицы Традиционно я использовал много temp tablesв разработке stored procedures- так как они кажутся более читабельными, чем множество переплетенных …


6
Как создать временную таблицу с помощью SELECT * INTO tempTable ОТ CTE Query
У меня есть запрос MS SQL CTE, из которого я хочу создать временную таблицу. Я не уверен, как это сделать, поскольку это дает Invalid Object nameошибку. Ниже весь запрос для справки SELECT * INTO TEMPBLOCKEDDATES FROM ;with Calendar as ( select EventID, EventTitle, EventStartDate, EventEndDate, EventEnumDays,EventStartTime,EventEndTime, EventRecurring, EventStartDate as PlannedDate …

3
Сочетание INSERT INTO и WITH / CTE
У меня очень сложное CTE, и я хотел бы вставить результат в физическую таблицу. Является ли следующее действительным? INSERT INTO dbo.prf_BatchItemAdditionalAPartyNos ( BatchID, AccountNo, APartyNo, SourceRowID ) WITH tab ( -- some query ) SELECT * FROM tab Я думаю об использовании функции для создания этого CTE, который позволит мне …

2
Сохраняя это простым и как сделать несколько CTE в запросе
У меня есть этот простой запрос T-SQL, он генерирует несколько столбцов из таблицы, а также объединяет информацию из других связанных таблиц. Моя модель данных проста. У меня запланированное мероприятие с участниками. Мне нужно знать, сколько участников участвуют в каждом мероприятии. Мое решение состоит в том, чтобы добавить CTE, который группирует …

9
Разница между CTE и SubQuery?
Из этого сообщения Как использовать ROW_NUMBER в следующей процедуре? Есть две версии ответов, в которых одна использует a, sub-queryа другая - CTEдля решения той же проблемы. Итак, в чем преимущество использования CTE (Common Table Expression)«подзапроса» (таким образом, более читабельно, что на самом деле делает запрос) Единственное преимущество использования CTEовера в …


2
Максимальная рекурсия 100 была исчерпана до завершения оператора
Я продолжаю получать max recursion errorс этим запросом. Сначала я думал, что это потому, что возвращается ноль, а затем он пытается сопоставить нулевые значения, вызывающие ошибку, однако я переписал свой запрос, чтобы нули не возвращались, и ошибка все еще возникает. Что было бы лучшим способом переписать эту функцию, чтобы ошибка …

7
Как вы используете предложение «WITH» в MySQL?
Я конвертирую все свои запросы SQL Server в MySQL, и все мои запросы, содержащиеся WITHв них, не работают. Вот пример: WITH t1 AS ( SELECT article.*, userinfo.*, category.* FROM question INNER JOIN userinfo ON userinfo.user_userid = article.article_ownerid INNER JOIN category ON article.article_categoryid = category.catid WHERE article.article_isdeleted = 0 ) SELECT …

4
SQL Server CTE и пример рекурсии
Я никогда не использую CTE с рекурсией. Я как раз читал об этом статью. В этой статье показана информация о сотрудниках с помощью CTE и рекурсии сервера Sql. В основном это показывает информацию о сотрудниках и их менеджерах. Я не могу понять, как работает этот запрос. Вот запрос: WITH cteReports …

8
Предложение MySQL «WITH»
Я пытаюсь использовать MySQL для создания представления с предложением "WITH" WITH authorRating(aname, rating) AS SELECT aname, AVG(quantity) FROM book GROUP BY aname Но похоже, что MySQL не поддерживает это. Я думал, что это довольно стандартно, и я уверен, что Oracle поддерживает это. Есть ли способ заставить MySQL использовать предложение «WITH»? …

2
Как использовать несколько операторов WITH в одном запросе PostgreSQL?
Я хотел бы «объявить», что фактически является несколькими таблицами TEMP, используя оператор WITH. Запрос, который я пытаюсь выполнить, выглядит следующим образом: WITH table_1 AS ( SELECT GENERATE_SERIES('2012-06-29', '2012-07-03', '1 day'::INTERVAL) AS date ) WITH table_2 AS ( SELECT GENERATE_SERIES('2012-06-30', '2012-07-13', '1 day'::INTERVAL) AS date ) SELECT * FROM table_1 WHERE …

2
Как я могу использовать несколько общих табличных выражений в одном операторе SELECT?
Я пытаюсь упростить сложный оператор выбора, поэтому решил использовать общие табличные выражения. Объявление одного cte работает нормально. WITH cte1 AS ( SELECT * from cdr.Location ) select * from cte1 Можно ли объявить и использовать более одного cte в одном SELECT? т.е. этот sql дает ошибку WITH cte1 as ( …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.