Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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



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

Необходимо пронумеровать записи в пределах групп, 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, 15:50   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 16,956
Репутация: 5965
По умолчанию

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

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

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



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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




08:40.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru