Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
22.03.2016, 13:47
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
Добрый день! Есть базы сотрудников, разбитые по годам с 2006 по 2016. ---------------------- Kod | Famil | Name | ---------------------- 111 Иванова Яна Нужно просканировать все базы, начиная с самой свежей, с 2016 по 2006 и проследить изменения в личных данных сотрудников, которые меняли свою фамилию? Результат должен быть примерно таким: ------------------------------------------------- Kod | Famil | Name | ------------------------------------------------- 111 Петрова (Иванова (Петрова)) Яна В данном случае у сотрудницы была фамилия Петрова, она вышла замуж за Иванова и затем опять развелась и взяла девичью фамилию. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 14:45
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
Макс_ПНужно просканировать все базыНу, если нужно, то что вам мешает это сделать? Сканируйте. Или вам надо наше разрешение на это? Разрешаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 15:21
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
Вы изначально закладываетесь на "некрасивую" структуру хранения периодических данных. Пока не поздно одумайтесь подумайте ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 15:26
|
|||
---|---|---|---|
Как проследить изменение ФИО сотрудников |
|||
#18+
Сделай две таблицы: текущее состояние и история перебирай свои таблицы по возрастанию года. Каждого ищи в текущем состоянии: 1. Нет - добавить 2. Есть и фамилия не совпала - добавить из текущего в историю, заменить в текущем на новую Дальше из этого выводи как угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 16:07
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
Dima TСделай две таблицы: текущее состояние и история перебирай свои таблицы по возрастанию года. Каждого ищи в текущем состоянии: 1. Нет - добавить 2. Есть и фамилия не совпала - добавить из текущего в историю, заменить в текущем на новую В примере я показал, что результат по фамилиям может повторяться (Девичья фамилия и новая фамилия совпадают). Поэтому две одинаковые фамилии нужно в этом случае показывать в результате. Попробую объяснить ещё. Есть фамилии из 10 баз за каждый год в убывающем порядке от 2016 до 2006: --2016-----2015------2014------2013------2012-----2011------2010------2009-------2008------2007------2006 Петрова - Петрова - Петрова - Петрова - Иванова - Иванова - Иванова - Петрова - Петрова - Петрова - Петрова Самая последняя фамилия находится в 2016 году. Значит действующая фамилия Петрова . В 2012 была фамилия Иванова . Значит фамилия становится такой Петрова (Иванова) . Дальше в 2009 году снова Петрова . Получается уже - Петрова (Иванова (Петрова)) . То есть фамилии в результате могут дублироваться, но только не друг за другом. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 16:11
|
|||
---|---|---|---|
Как проследить изменение ФИО сотрудников |
|||
#18+
Макс_ППолучается уже - Петрова (Иванова (Петрова)) . То есть фамилии в результате могут дублироваться, но только не друг за другом. И как это противоречит тому что я написал? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 16:12
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
Макс_П, прелестно! Ну так пиши уже реализацию своего алгоритма. От нас то что надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 16:32
|
|||
---|---|---|---|
Как проследить изменение ФИО сотрудников |
|||
#18+
Изучай Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.03.2016, 21:27
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
Макс_ППопробую объяснить ещё. Есть фамилии из 10 баз за каждый год в убывающем порядке от 2016 до 2006: --2016-----2015------2014------2013------2012-----2011------2010------2009-------2008------2007------2006 Петрова - Петрова - Петрова - Петрова - Иванова - Иванова - Иванова - Петрова - Петрова - Петрова - Петрова Самая последняя фамилия находится в 2016 году. Значит действующая фамилия Петрова . В 2012 была фамилия Иванова . Значит фамилия становится такой Петрова (Иванова) . Дальше в 2009 году снова Петрова . Получается уже - Петрова (Иванова (Петрова)) . То есть фамилии в результате могут дублироваться, но только не друг за другом. А в течение одного года поменять фамилию запрещено? :) Эдак несколько раз. Может, в этих базах данных есть штатное расписание, где любое изменение состояния работника, в т.ч. фамилия привязано к дате. Есть такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.03.2016, 10:05
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
XAndyА в течение одного года поменять фамилию запрещено? :) Эдак несколько раз. Может, в этих базах данных есть штатное расписание, где любое изменение состояния работника, в т.ч. фамилия привязано к дате. Есть такое? Не запрещено. :) Но это бывает крайне редко. Небольшая погрешность, в данном случае, допускается. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.03.2016, 06:42
|
|||
---|---|---|---|
Как проследить изменение ФИО сотрудников |
|||
#18+
Макс_ПНебольшая погрешность, в данном случае, допускается. Хм, погрешность в перс.данных да если к ним еще и з/п привязана... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.03.2016, 11:57
|
|||
---|---|---|---|
|
|||
Как проследить изменение ФИО сотрудников |
|||
#18+
T1gRa_NTХм, погрешность в перс.данных да если к ним еще и з/п привязана... С зарплатой это не связано. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1582141]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
132ms |
get topic data: |
7ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 230ms |
0 / 0 |