Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Goga-Gola тут на Русском :) У MS, часто, очень не качественный перевод. Во многих местах даже машинный. И временами он исказажает смысл до противоположного. Поэтому стараюсь все читать все же в оригинале, по-английски. Чего и Вам желаю ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:48 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Rismenваш запрос не работает так как нужно Попробуйте мой последний вариант запроса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 14:51 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128Rismenваш запрос не работает так как нужно Попробуйте мой последний вариант запроса: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Выдает ошибку: Столбец "Residency.PriceOfResidency" недопустим в списке выбора, поскольку он не содержится ни в агрегатной функции, ни в предложении GROUP BY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:07 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
RismenВыдает ошибку Логично с его стороны ) Исправил Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:09 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128Вот именно почитайте Ну и где там подтверждение вашего изречения "Объекты CTE, табличных переменных, вложенных запросов и т.п. размещаются в tempdb"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:15 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
invmptr128Вот именно почитайте Ну и где там подтверждение вашего изречения "Объекты CTE, табличных переменных, вложенных запросов и т.п. размещаются в tempdb"? О господи! Откройте ссылку и внимательно изучите содержимое таблицы после фразы "The following table lists the features in SQL Server that create user objects, internal objects, or row versions in tempdb." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:18 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128invmпропущено... Ну и где там подтверждение вашего изречения "Объекты CTE, табличных переменных, вложенных запросов и т.п. размещаются в tempdb"? О господи! Откройте ссылку и внимательно изучите содержимое таблицы после фразы "The following table lists the features in SQL Server that create user objects, internal objects, or row versions in tempdb." дарагуля, ты наверное хотел сказать изначально что ингода попадают в tempdb? только когда spool есть? А мы тут в ужасе что всегда cte/вложенные запросы в tepmdb падают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:28 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
TaPaKдарагуля, ты наверное хотел сказать изначально что ингода попадают в tempdb? Нет, детка, нет. Читайте внимательно. И цитируйте оттуда, если желаете возразить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:30 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128TaPaKдарагуля, ты наверное хотел сказать изначально что ингода попадают в tempdb? Нет, детка, нет. Читайте внимательно. И цитируйте оттуда, если желаете возразить. милочка, позвольте авторWhen the query plan for a common table expression query uses a spool operator to save intermediate query results, the Database Engine creates a work table in tempdb to support this operation. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:32 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
TaPaKptr128пропущено... Нет, детка, нет. Читайте внимательно. И цитируйте оттуда, если желаете возразить. милочка, позвольте авторWhen the query plan for a common table expression query uses a spool operator to save intermediate query results, the Database Engine creates a work table in tempdb to support this operation. Да, в этом случае tempdb используется еще и для этого. Кроме того, что написано было в этой же ячейке перед приведенной Вами фразой: "A common table expression can be thought of as a temporary result set that is defined within the execution scope of a single SELECT, INSERT, UPDATE, DELETE, or CREATE VIEW statement." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:50 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128TaPaKпропущено... милочка, позвольте пропущено... Да, в этом случае tempdb используется еще и для этого. Кроме того, что написано было в этой же ячейке перед приведенной Вами фразой: "A common table expression can be thought of as a temporary result set that is defined within the execution scope of a single SELECT, INSERT, UPDATE, DELETE, or CREATE VIEW statement." а как вы понимаете приведённую вам фразу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 15:53 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
TaPaKptr128пропущено... Да, в этом случае tempdb используется еще и для этого. Кроме того, что написано было в этой же ячейке перед приведенной Вами фразой: "A common table expression can be thought of as a temporary result set that is defined within the execution scope of a single SELECT, INSERT, UPDATE, DELETE, or CREATE VIEW statement." а как вы понимаете приведённую вам фразу? Была же выше ссылка. В лом открыть? "Обобщенные табличные выражения могут рассматриваться как временные результирующие наборы, определенные в области выполнения одиночных инструкций SELECT, INSERT, UPDATE, DELETE и CREATE VIEW. " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:03 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128TaPaKпропущено... а как вы понимаете приведённую вам фразу? Была же выше ссылка. В лом открыть? "Обобщенные табличные выражения могут рассматриваться как временные результирующие наборы, определенные в области выполнения одиночных инструкций SELECT, INSERT, UPDATE, DELETE и CREATE VIEW. " и это означает что cte в tempdb всегда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:05 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128О господи!Вот именно! Но и "рукалицо" тоже подойдет. Медитируйте над фразой "When the query plan for a common table expression query uses a spool operator to save intermediate query results, the Database Engine creates a work table in tempdb to support this operation." пока полностью не поймете смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:15 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
К чему этот спор? Кто-то надеется, что собеседник скажет - ну да, я был не прав? Гордыня так и прет. И невежество тоже... Остановитесь! /(С) Янукович/ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:20 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
TaPaKptr128пропущено... Была же выше ссылка. В лом открыть? "Обобщенные табличные выражения могут рассматриваться как временные результирующие наборы, определенные в области выполнения одиночных инструкций SELECT, INSERT, UPDATE, DELETE и CREATE VIEW. " и это означает что cte в tempdb всегда? Ну раз эта фраза находится в колонке "tempdb use"... На самом деле, в частных случаях, когда план запроса не подразумевает хранения промежуточных результатов, могу предполагать, что объект для результирующих наборов данных CTE в tempdb остается пустым. Оптимизатор все же не настолько туп. Но достаточно только уйти в рекурсию, агрегацию или JOIN не во вложенном цикле, а через хеш, как данные туда посыпятся. К сожалению, информации о внутреннем устройстве MS SQL очень мало. Как я уже писал выше, от CTE я отказался, когда обнаружил, что он демонстрирует худшую производительность, по сравнению с явным использованием временных таблиц с разумно созданными индексами. А в тех случаях, когда можно обойтись без временных таблиц, он не очень то и нужен, так как легко заменяется вложенными запросами или вьюхами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:20 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Goga-GolaКто-то надеется, что собеседник скажет - ну да, я был не прав? Мне приходится говорить эту фразу регулярно. Даже на этом форуме я уже несколько раз признавал свою ошибку только за эту неделю. Как может быть всегда прав человек, который что-то делает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:22 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128, ptr128, авторНу раз эта фраза находится в колонке "tempdb use"... агонь! Код: sql 1. т.е. Код: sql 1. полезет в tempdb? авторА в тех случаях, когда можно обойтись без временных таблиц, он не очень то и нужен, так как легко заменяется вложенными запросами или вьюхами. cte заменяется вложенными запросами.... я не ем сахар, я заменяю его сахаром ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:32 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128RismenВыдает ошибку Исправил Теперь уже работает, но выдает не тех клиентов, которые нужны. Нужны последние три ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:38 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Rismenptr128пропущено... Исправил Теперь уже работает, но выдает не тех клиентов, которые нужны. Нужны последние три По какому признаку последние? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 16:40 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
TaPaKполезет в tempdb? Проверяйте сами. Вы уже потеряли в моих глазах всякое уважение. Поэтому не дождетесь, чтобы я ради Вас хоть пальцем пошевелил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:01 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128К сожалению, информации о внутреннем устройстве MS SQL очень мало.Информации полно. Видимо, вы просто не умеете искать. А если бы нашли и почитали, то не писали бы бред типаptr128На самом деле, в частных случаях, когда план запроса не подразумевает хранения промежуточных результатов, могу предполагать, что объект для результирующих наборов данных CTE в tempdb остается пустым. К вседению - statistics io покажет все объекты, включая Worktable/Workfile. У неиспользуемых будет 0 чтений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:14 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
ptr128Rismenпропущено... Теперь уже работает, но выдает не тех клиентов, которые нужны. Нужны последние три По какому признаку последние? Если открыть бд, то в таблице Residency столбце PriceOfResidency полная стоимость за проживание. В таблице Payment столбце Pay сколько оплачено. И нужно вывести тех клиентов, которые либо не заплатили, либо оплатили частично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:21 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
invmК вседению - statistics io покажет все объекты, включая Worktable/Workfile. У неиспользуемых будет 0 чтений. Спасибо! Этого я не знал. Воспользуюсь в будущем ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:23 |
|
||
|
Вложенный запрос
|
|||
|---|---|---|---|
|
#18+
Rismenptr128пропущено... По какому признаку последние? Если открыть бд, то в таблице Residency столбце PriceOfResidency полная стоимость за проживание. В таблице Payment столбце Pay сколько оплачено. И нужно вывести тех клиентов, которые либо не заплатили, либо оплатили частично. Я вижу, что клиенты 1,2,3 полностью оплатили. В запросе я, так как писал его без БД, неправильно указал имя поля. Вместо SUM(ISNULL(P.Payment,0)) должно быть SUM(ISNULL(P.Pay,0)) И запрос честно выдает оставшихся двух клиентов. Еще раз запрос, с исправленным именем поля: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2017, 17:37 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39573677&tid=1690628]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
77ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 423ms |

| 0 / 0 |
