|
|
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
Есть справочник в виде дерева Код: plaintext 1. 2. 3. 4. 5. и 2 таблица Код: plaintext 1. 2. 3. 4. 5. надо вернуть вот такой результат Код: plaintext 1. 2. 3. 4. 5. т.е. сумму из второй таблицы по полю countp по каждому узлу и по всем потомкам входящим в него Подскажите какинть идеи... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 12:19:24 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
Насколько я понял, поля "id" и "idcomp" нас не интересуют. Сначала Вам надо развернуть структуру дерева, т.е получить ид "листьев" и "веток" Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. А после этого Код: plaintext 1. 2. 3. 4. Вот приблизительно так. В коде возможны синтаксические ошибки... Прошу прощения мало времени. Я пытался показать логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 12:36:50 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
как я понял в #stack лежат id типа и его уровень? А зачем нам это если ето дальше не используется . По второму запросу -получим только вхождения в данный тип а в родительские? Если что не так понял -поправь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 12:51:51 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
Да забыл - уровни есть - просто не всю таблицу привел. На самом деле у неё вот такая структура [scr] id name tag [/scr] -где tag -путь к узлу - я его на промежуточном этапе привожу к тому виду для слияния с другим деревом а уровень определяется по tag - там простая формула ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 12:55:41 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
>По второму запросу -получим только вхождения в данный тип а в родительские? Прошу прощения недопонял вопрос... Что то кроме курсора в голову ничего не приходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 13:12:28 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
Да мне тож кроме глобального курсора по второй таблице в голову не приходит. Там еще несколько деревьев подвешиваются - выше приведённый вопрос это только кусок всей заморочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 13:22:49 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
Могу посоветовать только следующее: я в таких случаях иду к постановщикам задач и узнаю, можно ли как то изменить задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 13:30:00 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
приведи пример с данными.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 14:22:00 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
В общем итог таков - сделал доп таблицу3 - в которой idtype id типа и allChild - все потомки + сам узел (конечно решение не оптимальное ) по ней и стал работать -соответственно если есть id в потомках то и тягаю эту строку(idtype). Вроде всё получилось. Типа Код: plaintext 1. 2. 3. и потом уже цепляю к справочнику (t1) А вообще через месяц 40% переделывать в плане стоит! (правда не из-за этого) я под это дело всю эту муру и переделаю в нормальный вид! Правда осталась проблема с поддержанием доп таблицы(t3) в актуальном соотоянии Кто что предложит ? При каждом удалении/добавлении в дерево переделывать таблицу(t3)? Всё организованно на процедурах -select ; update ; delete и обновлении t3 - на процедуре. Или кто что другое предложит? 2 MiCe- про данные - немного утрированный но смотри первое сообшение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 15:20:38 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
интересует поле tag.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 15:28:03 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
2 MiCe в tag лежат id родителей - для примера по t1 Код: plaintext 1. 2. 3. 4. P.S. - мне на будущее принимаются идеи как это сделать нормально Дано таблицы: компании доступ позиции компании тип компании пользователи связи: компания->тип компании компания -> доступ <- пользователь компания ->позиции компании Компания может иметь несколько типов Надо :Количество позиций по каждому типу + по всем потомкам входящим в этот узел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 15:38:52 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
именно {...}? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 16:15:07 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
пырдонс.... Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 16:18:57 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
2 MiCe вообщем таже идея - только в tag лежат родители а для меня ет не подходит - уже прошел эт вариант :))- надо делать не по родителям а по потомкам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 16:35:27 |
|
||
|
Голову сломал! Помогите
|
|||
|---|---|---|---|
|
#18+
не совсем понял..... как я понял нужно было от узла до всех потомков .... а доперло...... каюсь.... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2002, 16:49:58 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32054530&tid=1819933]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 185ms |
| total: | 282ms |

| 0 / 0 |
