Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2017, 14:37   #1
lnatalya
 
Регистрация: 14.04.2017
Сообщений: 8
По умолчанию Изменение нумерации для удаления пропусков в пределах групп

Необходимо пронумеровать записи в пределах групп, PARTITION BY, увы, не подходит))

Есть группы с несколькими подгруппами/блоками...
Допустим:
A – основная группа (организация)
B – 1 подгруппа (подразделение)
C – 2 подгруппа (сотрудник). Во избежание вопросов в дальнейшем сразу уточняю - это не ID сотрудника, а просто номер, который ни с чем не связан.
D – № операции - сквозная нумерация в пределах подразделения (B)
T – тип операции
У одного сотрудника может быть несколько операций нужного типа, либо не быть ни одной.

A | B | C | D | T
1 | 1 | 1 | 1 | 0
1 | 1 | 2 | 2 | 1
1 | 1 | 3 | 3 | 0
1 | 1 | 4 | 4 | 1
1 | 1 | 4 | 5 | 1
1 | 1 | 5 | 6 | 0
...
1 | 1 |256|977| 1

Нужно получить список операций типа 1 для каждого подразделения, № операции (D) сохраняется, изменяется нумерация сотрудников, чтобы не было пропусков в списке (можно вывести в отдельный столбец):

A | B | C | D | T | E
1 | 1 | 1 | 1 | 0 | 0
1 | 1 | 2 | 2 | 1 | 1
1 | 1 | 3 | 3 | 0 | 0
1 | 1 | 4 | 4 | 1 | 2
1 | 1 | 4 | 5 | 1 | 2
1 | 1 | 5 | 6 | 0 | 0
1 | 1 | 6 | 7 | 1 | 3
...
1 | 1 |256|977| 1| 120

Заранее спасибо!
lnatalya вне форума Ответить с цитированием
Старый 05.12.2017, 14:50   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Чего не подходит? Например выдерни уникальные A,B,C для T=1 и перенумеруй с тем же PARTITION BY и во временную табличку или в качестве вложенного запроса использовать. Потом прицепи ее по left join к исходной
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 05.12.2017 в 14:53.
Аватар вне форума Ответить с цитированием
Старый 05.12.2017, 15:27   #3
lnatalya
 
Регистрация: 14.04.2017
Сообщений: 8
По умолчанию

Спасибо!
lnatalya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выяснить, верно ли, что в данном тексте больше групп букв, чем групп цифр. jthr C# (си шарп) 6 20.04.2016 06:57
Выяснить, верно ли, что в данном тексте больше групп букв, чем групп знаков Pinguin007 Паскаль, Turbo Pascal, PascalABC.NET 4 28.02.2016 12:16
программы для печати удостоверений (пропусков) lungge Фриланс 3 15.11.2012 12:21
Автоматическое изменение нумерации на единицу NeWeDim4ik Microsoft Office Word 4 01.04.2011 18:00
макрос для нумерации строк Olya1985 Microsoft Office Excel 5 07.01.2011 23:46