|
Иерархия
|
|||
---|---|---|---|
#18+
Добрый час! есть таблица Иерархическая ID Наименование Родитель 1 Управление 1 0 2 Отдел 1 1 3 Отделение 1 2 4 Отделение 2 2 5 Управление 2 0 6 Отдел 1 5 7 Отделение 1 6 8 Отделение 2 6 Подскажите как создать позволяющий понять входит ли Отделение 2 в Управление 2 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2018, 23:36 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Подскажите как создать ЗАПРОС позволяющий понять входит ли Отделение 2 в Управление 2 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2018, 23:42 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Код: vbnet 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. 28. 29. 30. 31. 32. 33.
от шедрот душевных накидал ф-ию, которая рекурсивно возвращает коды всех детей по папке. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2018, 09:15 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Обычный запрос на самообъединение. отделений 2 - несколько про какое речь ? Код: sql 1. 2. 3. 4.
т.е. если ищем на втором уровне (Отделение 2 - на 2-м уровне), относительно 0-го уровня, то степень глубины 3. (3 таблицы) - как отобрать то что нужно надеюсь разберетесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2018, 11:28 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Благодарю! Всех кто откликнулся! Буду изучать ... решение напишу сюда ... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2018, 16:08 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDV , имеется ли ограничение на количество уровней иерархии? т.е. некое значение, выше которого высота дерева не поднимется никогда? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2018, 16:18 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Для 5 уровней можно, не заморачиваясь на рекурсию, построить один запрос на базе 5 копий таблицы, формирующий UNC отделов, и проверить наличие в UNC имён либо ИДов (смотря из чего будешь строить пути) обоих заданных подразделений. Что-то вроде Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Access, возможно, не понравится HAVING - ну тады заменить там fullpath на его выражение и переместить проверку во WHERE. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2018, 08:09 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Впрочем, если нужна только проверка, достаточно посмотреть количество возвращаемых записей - ноль или больше... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2018, 08:10 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Akina, Благодарю! Буду пробовать ) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2018, 13:57 |
|
Иерархия
|
|||
---|---|---|---|
#18+
alecko, про любое поиск по родителю можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2018, 23:24 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDV, как его сделать? напишите запрос если возможно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 00:48 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDVДобрый час! есть таблица Иерархическая ID Наименование Родитель 1 Управление 1 0 2 Отдел 1 1 3 Отделение 1 2 4 Отделение 2 2 5 Управление 2 0 6 Отдел 1 5 7 Отделение 1 6 8 Отделение 2 6 Подскажите как создать позволяющий понять входит ли Отделение 2 в Управление 2 ? добавить поле "путь" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 05:20 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDV,замените условие (или добавьте) Код: sql 1. 2. 3.
запросы на самообъединение обычно применяются при поиске по спискам, т.е. три списка, List1, List2, List3, в них создаем запросы Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 12:00 |
|
Иерархия
|
|||
---|---|---|---|
#18+
alecko, а если пропущен один уровень ... к примеру отделение сразу подчиняется отделу? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 02:34 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDVДобрый час! Подскажите как создать позволяющий понять входит ли Отделение 2 в Управление 2 ? а каким образом вы в этом запросе собираетесь указывать - что проверяем? Если например вы каким-то образом выбираете отдел 2, потом Управление 2, и хотите получить ответ - подчинен ли отдел 2 управлению 2 с логическим значением Да/нет, и в принципе можете сначала выбрать Управление 2 а потом отдел 2 и получить ответ - подчинено ли управление 2 отделу 2, то я бы это сделал на VBA - строчек 5 от силы будет.... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 07:43 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDValecko, а если пропущен один уровень ... к примеру отделение сразу подчиняется отделу? И пропуск уровня не помешал бы.... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 07:44 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDValecko, а если пропущен один уровень ... к примеру отделение сразу подчиняется отделу? т.е. например отдел удалили? - тогда нужно править запросом parent-столбец отделений - т.е. поднимать их на уровень выше - пустых уровней быть не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 10:42 |
|
Иерархия
|
|||
---|---|---|---|
#18+
Serg197311, сверху понятно а как снизу дойти до верхнего уровня? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 10:46 |
|
Иерархия
|
|||
---|---|---|---|
#18+
JDVSerg197311, сверху понятно а как снизу дойти до верхнего уровня? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Вот функция которая получает на входе код строки(у вас id) и пробегает до самого верха, перемножая количества. Вам надо передать в функцию еще один код, сделать ее Boolean, и вместо перемножения выполнять сравнение кода(id) текущей строки со вторым переданным в функцию кодом. Коды совпали - функция = true, выход. Совпадения не нашлось - функция False Мое поле !own - это у вас Родитель Гуру, не бейте ногами за такую корявость.... Работает ведь... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 11:08 |
|
Иерархия
|
|||
---|---|---|---|
#18+
О! только проверку на родитель=0 надо еще сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 11:31 |
|
|
start [/forum/topic.php?fid=45&msg=39746499&tid=1610972]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 326ms |
total: | 480ms |
0 / 0 |