Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
Шпунтик
Member

Откуда:
Сообщений: 148
есть большой агрегирующий, результатом которого является число
все исходные таблицы статичный, все вспомогательные, которые используются в ходе вычисления подвергаются беспощадному truncate'у после каждого запуска скрипта
нигде не используется рандомайз

есть одна временная таблица, которая заполняется через

Insert into #table
Select top N
FROM
WHERE
Order,
N - константа

где-то читал, что должно быть так:
Select top (N), может ли это влиять на порядок строк во временной таблице?
13 янв 12, 16:19    [11900688]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
Шпунтик
Member

Откуда:
Сообщений: 148
на самом деле, что он выдаёт разные результаты, мне даже лучше)
но хочется разобраться. ибо это ест мне мозг)
13 янв 12, 16:19    [11900695]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Шпунтик, что мешает добавить нумерацию при вставке, а потом отбирать с сортировкой по полю нумерации?
13 янв 12, 16:24    [11900749]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Шпунтик
на самом деле, что он выдаёт разные результаты

Вы под "разные результаты" подразумеваете порядок записей или различие в самих данных ?
13 янв 12, 16:28    [11900806]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
Шпунтик
Member

Откуда:
Сообщений: 148
Glory,

у меня в итоге одно число только получается, и оно получается всегда разное)
13 янв 12, 18:05    [11901680]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
Шпунтик
Member

Откуда:
Сообщений: 148
kDnZP,

ничего, просто интересно, что даёт такой эффект
13 янв 12, 18:06    [11901686]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
не вижу order by в запросе
без него ни о каком "порядке строк" (и, следовательно, о том - кого считать "первыми N" строками) речи быть не может
13 янв 12, 18:10    [11901725]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
locky
не вижу order by в запросе
без него ни о каком "порядке строк" (и, следовательно, о том - кого считать "первыми N" строками) речи быть не может

не видишь, а он есть

Insert into #table
Select top N
FROM
WHERE
Order,
13 янв 12, 18:15    [11901774]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Ivan Durak
locky
не вижу order by в запросе
без него ни о каком "порядке строк" (и, следовательно, о том - кого считать "первыми N" строками) речи быть не может

не видишь, а он есть

Insert into #table
Select top N
FROM
WHERE
Order,

Есть, канешна есть. Только где-то дальше у ТС выборка из #table с предположением о том, что порядок сохранится, - а это в корне не верно. Порядок нужно сохранять самому, а не надеяться на авось.
13 янв 12, 19:21    [11902149]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
перемере
Guest
Шпунтик
Glory,

у меня в итоге одно число только получается, и оно получается всегда разное)

значит не в этом запросе с инсертом и селектом top N дело. этот запрос не скалярный результат выдает.
13 янв 12, 21:22    [11902632]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
Шпунтик
Member

Откуда:
Сообщений: 148
перемере,

у меня алгоритм, который инсертит в таблицу топ 1 строчку из временной таблицы (идёт order by по 3 колонкам из 6)
после чего временная таблица подвергается чистке и инсёрт повторяется
14 янв 12, 23:54    [11905842]     Ответить | Цитировать Сообщить модератору
 Re: скрипт выдаёт от раза к разу разный результат (возможно проблема в select top N)  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
Шпунтик
у меня алгоритм, который инсертит в таблицу топ 1 строчку из временной таблицы (идёт order by по 3 колонкам из 6)
после чего временная таблица подвергается чистке и инсёрт повторяется

Это вы сами такое придумали? Может стоит подумать еще раз и сделать как следует?
15 янв 12, 00:09    [11905901]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить