Запитання з тегом «common-table-expression»

Вираз загальної таблиці (CTE) - це тимчасовий набір результатів, який визначається у межах виконання окремого оператора SELECT, INSERT, UPDATE, DELETE або CREATE VIEW.

9
Коли використовувати загальну табличну виразність (CTE)
Я почав читати про загальну табличну виразність і не можу придумати випадок використання, коли мені потрібно було б їх використовувати. Вони можуть здатися зайвими, оскільки те ж саме можна зробити з похідними таблицями. Щось мені не вистачає чи добре не розумію? Чи може хтось надати мені простий приклад обмежень за …

4
Чи є різниця в ефективності між CTE, підзапитом, тимчасовою таблицею або змінною таблиці?
У цьому відмінному SO питання , відмінності між CTEі sub-queriesбули обговорені. Я хотів би спеціально запитати: За яких обставин кожен із наступних є більш ефективним / швидшим? CTE Підзапит Тимчасовий стіл Змінна таблиця Традиційно я багато використовував temp tablesу розробці stored procedures- тому що вони здаються читабельнішими, ніж багато переплетених …


6
Як створити таблицю Temp за допомогою 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 …

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а друга використовує a CTEдля вирішення тієї ж проблеми. Тепер, у чому полягає перевага використання CTE (Common Table Expression)над "підзапитом" (таким чином, читабельніше, що запит насправді робить) Єдина перевага використання за CTEкадром sub-select, …


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

7
Як ви використовуєте пункт "З" у 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 t1.* …

4
Приклад CTE SQL Server та рекурсія
Я ніколи не використовую CTE при рекурсії. Я просто читав статтю про це. У цій статті відображається інформація про працівників за допомогою CTE сервера Sql та рекурсії. Це, в основному, інформація про працівників та їх керівника. Я не в змозі зрозуміти, як працює цей запит. Ось запит: WITH cteReports (EmpID, …

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 date IN …

2
Як я можу мати декілька загальних виразів таблиць в одному операторі SELECT?
Я в процесі спрощення складного оператора select, тому думав, що буду використовувати загальні вирази таблиці. Оголошення одного cte працює нормально. WITH cte1 AS ( SELECT * from cdr.Location ) select * from cte1 Чи можна оголосити і використовувати більше одного cte в одному і тому ж SELECT? тобто цей sql …

4
Вставляйте дані в 3 таблиці за раз за допомогою Postgres
Я хочу вставити дані в 3 таблиці за допомогою одного запиту. Мої таблиці виглядають так: CREATE TABLE sample ( id bigserial PRIMARY KEY, lastname varchar(20), firstname varchar(20) ); CREATE TABLE sample1( user_id bigserial PRIMARY KEY, sample_id bigint REFERENCES sample, adddetails varchar(20) ); CREATE TABLE sample2( id bigserial PRIMARY KEY, user_id …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.