Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
28.04.2001, 18:10
|
|||
|---|---|---|---|
|
|||
Enumerate records |
|||
|
#18+
Можно ли, делая select, добавить вычисляемое поле, значение которого будет 1, 2, ... Чтобы перенумеровать записи по порядку именно внутри данного select'а ? Вот в Oracle такая фича точно есть, а как такое в MSSQL сделать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2001, 18:13
|
|||
|---|---|---|---|
|
|||
Enumerate records |
|||
|
#18+
Какой SQL ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2001, 18:36
|
|||
|---|---|---|---|
|
|||
Enumerate records |
|||
|
#18+
7.0 или 2000 UDF, опирающиеся на какие-либо глобальные переменные, таблицы и т.д. не хотелось бы использовать. Нужно что-то привязанное только к select'у ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2001, 19:16
|
|||
|---|---|---|---|
Enumerate records |
|||
|
#18+
SQL2000 Через временную таблицу SELECT IDENTITY(int, 1,1) AS ID_Num,...other fiedls from MyTable... INTO #TempTable FROM MyTable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2001, 19:37
|
|||
|---|---|---|---|
Enumerate records |
|||
|
#18+
Можно еще так (если в таблице ttt уже есть поле для хранения номера NumberField): declare @I int set @I=0 update ttt set @I=NumberField=@I+1 where NameField like 'SomeValue%' select * from ttt Использован прием, о котором я узнал из рассылки Александра Гладченко "MS SQL Server - дело тонкое...". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
28.04.2001, 19:50
|
|||
|---|---|---|---|
|
|||
Enumerate records |
|||
|
#18+
Можно попробовать и так Думаю работать будет быстрее, нежели через # DECLARE @tbTable TABLE ( Field1 int IDENTITY(1,1) , Field2 smallint ) INSERT INTO @tbTable SELECT ID FROM sysobjects SELECT * FROM @tbTable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.04.2001, 21:32
|
|||
|---|---|---|---|
Enumerate records |
|||
|
#18+
Если select отсортирован по какому либо полю (или полям), например по полю Field1), то можно так: DECLARE @tbl TABLE (Field1 int , Field2 int) select t1.Field1 , t1.Field2, count(t2.Field1) from @tbl t1 inner join @tbl t2 on t1.Field1 >= t2.Field1 group by t1.Field1 , t1.Field2 Таким образом можно организовать возврастающую (убывающую) нумерацию, нарастающий (убывающий) итог по всем записям в select, по группам и т.д. Подробнее смотри http://support.microsoft.com/support/kb/articles/Q186/1/33.ASP. Или многочисленные ответы на подобные вопросы SergSuper в этой конфе. Просто набери в строке поиска "Нумерация" или/и "Нарастающий итог" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.05.2001, 12:27
|
|||
|---|---|---|---|
|
|||
Enumerate records |
|||
|
#18+
Короче, нормального человеческого способа нет. Очень жаль. Все приведенные примеры используют либо временные таблицы (переменные), либо дополнительные поля, которые были созданы заранее. Что трудно назвать универсальным способом, равно как и быстро работающим. Всем спасибо за советы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&mobile=1&tid=1826877]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 337ms |

| 0 / 0 |
