Имя: Пароль:
1C
 
v8: Про сортировку данных во временных таблицах
0 pmb
 
09.11.10
10:21
Есть таблица значений, в запросе выбираю часть ее колонок во временную таблицу, далее выбираю эти же поля из временной таблицы, Результат запроса выгружаю в ТЗ.
Фактически получаю ту же таблицу значений только с меньшим набором колонок.

Только в полученной ТЗ порядок строк не всегда совпадает с источником. Почему такое происходит?
1 pmb
 
09.11.10
10:21
Блин, в теме должно быть "Про сортировку данных во временных таблицах". Поправте пожалуйста :)
2 mikecool
 
09.11.10
10:22
а что удивляет? насколько помнится, в разных скулях сортировка по умолчанию разная
3 Speshuric
 
09.11.10
10:23
(0) запрос "ВЫБРАТЬ ... ИЗ ..." может возвращать строки в произвольном порядке пока не указано "УПОРЯДОЧИТЬ ПО"
4 pmb
 
09.11.10
10:24
MSSQL. Как он тогда сортирует эти данные во временной таблице?
5 6tuf
 
09.11.10
10:24
(0) временные таблицы в запросе не дают себя сортировать. сортировку можно делать только в конечной таблице. а как он до конечной таблицы данные сортирует - бог его знает
6 Defender aka LINN
 
09.11.10
10:25
(0) И что?
7 mikecool
 
09.11.10
10:25
(6) да вы, батенька, еврей )
8 pmb
 
09.11.10
10:28
Просто нелогично получается. Помещаешь данные в ВТ, выбираешь данные из ВТ но уже с другим порядком. Это ж не физическая таблица базы данных.

(7) :)))
9 mikecool
 
09.11.10
10:29
(8) "Это ж не физическая таблица базы данных. " а какая??
10 Defender aka LINN
 
09.11.10
10:29
(7) Зачем ви т'гавите? :)
(8) Таки кто вам сказал, что не физическая?
11 Speshuric
 
09.11.10
10:29
(8) "Это ж не физическая таблица базы данных. " - с каких пор? Вполне физическая таблица в БД tempdb.
12 pmb
 
09.11.10
10:34
(11) ну ладно физическая. Тока все равно нелогично.
У ТЗ даже номер строки не вытащишь в ВТ, приходится делать для этого дополнительную колонку
13 упс
 
09.11.10
10:43
sql server не обязан хранить данные упорядоченными, как бы вы их туда не записывали. Чтобы гарантировать нужный вам порядок строк используйте УПОРЯДОЧИТЬ ПО (order by)
14 Speshuric
 
09.11.10
10:45
(12) Как раз в логике выполнения запросов всё логично. Есть таблица, есть запрос, запрос не упорядочен - возвращаем как удобнее. То, что эта временная таблица когда-то была таблицей значений MS SQL не в курсе.
15 pmb
 
09.11.10
10:48
а в файловой версии как поведет себя такой запрос?