|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
Код: plsql 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.
Написал тупо в лоб минут за 15. ОКончания работы пока не дождался. Тему не читал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 18:11 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
collow.. Написал тупо в лоб минут за 15. ОКончания работы пока не дождался. Тему не читал :) (имхо) ну и напрасно . совершенно не обязательно прыгать на грабли, которые уже известны всем. (и особенно больно, если прыгать с 64-го этажа) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 18:34 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
Ну я как бы ни на что и не претендую. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 19:09 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
collow, Просто решил продемонстрировать свою туполобость? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 19:19 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
Да не, просто зацепил начальный пост о невозможности сделать это на чистом скл и тем более полный перебор. В этом плане да, решил немного выпендриться. Бывает. На самом деле если бы я сразу обратил внимание на дату начального поста, не стал бы вообще заморачиваться. Ну а теперь можно и развитие сюжета почитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2012, 19:33 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
Решал относительно недавно эту задачу на MSSQL с помощью рекурсивного CTE (решение очень похоже на это пятничная задачка (про) коня ) сейчас для закрепления материала начал решать ее под оракл тем же методом. каково же было мое удивление, когда я понял, что нельзя использовать конструкции такого вида : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
если бы не трюк с MAX(Ss.Id_to1) KEEP (DENSE_RANK FIRST ORDER BY COUNT(*)) , подсмотренный у andreymx , наверно не обошелся бы без Pl\sql. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2013, 23:37 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
init.oraкаково же было мое удивлениеRSFC (recursive subquery factoring clause) вообще сильно отстает от CTE: 11020487 . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 01:43 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
dbms_photoshopinit.oraкаково же было мое удивлениеRSFC (recursive subquery factoring clause) вообще сильно отстает от CTE: 11020487 . Зато в RSFC можно писать в рекурсивной части Код: plsql 1. 2. 3. 4. 5. 6.
что довольно неплохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 11:59 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
init.oraРешал относительно недавно эту задачу на MSSQL с помощью рекурсивного CTE (решение очень похоже на это пятничная задачка (про) коня ) сейчас для закрепления материала начал решать ее под оракл тем же методом. каково же было мое удивление, когда я понял, что нельзя использовать конструкции такого вида : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
если бы не трюк с MAX(Ss.Id_to1) KEEP (DENSE_RANK FIRST ORDER BY COUNT(*)) , подсмотренный у andreymx , наверно не обошелся бы без Pl\sql. пример (как мне видится) сути вашей проблемы не отображает, ибо, чтобы заработал, достаточно выполнить то, что говорит вам ORA-32042: рекурсивная фраза WITH должна напрямую ссылаться на себя в одной из ветвей UNION ALL Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 12:44 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
orawishinit.oraРешал относительно недавно эту задачу на MSSQL с помощью рекурсивного CTE (решение очень похоже на это пятничная задачка (про) коня ) сейчас для закрепления материала начал решать ее под оракл тем же методом. каково же было мое удивление, когда я понял, что нельзя использовать конструкции такого вида : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
если бы не трюк с MAX(Ss.Id_to1) KEEP (DENSE_RANK FIRST ORDER BY COUNT(*)) , подсмотренный у andreymx , наверно не обошелся бы без Pl\sql. пример (как мне видится) сути вашей проблемы не отображает, ибо, чтобы заработал, достаточно выполнить то, что говорит вам ORA-32042: рекурсивная фраза WITH должна напрямую ссылаться на себя в одной из ветвей UNION ALL Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Понятное дело! пример, который я привел сильно упрощен, чтобы показать суть проблемы с которой я столкнулся. В подзапросе хотел использовать Row_number(), вот так: Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 13:14 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
init.oraВ подзапросе хотел использовать Row_number(), вот таккак ты себе представляешь рекрсию по условию над результатами рекурсии. Если предполагаешь сначала сформировать набор, потом фильтровать, так и делай. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 13:18 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
-2-init.oraВ подзапросе хотел использовать Row_number(), вот таккак ты себе представляешь рекрсию по условию над результатами рекурсии. Если предполагаешь сначала сформировать набор, потом фильтровать, так и делай. нет, нет.. никакой рекурсии над рекурсией. хотелось бы сначала отфильтровать записи в зависимости от рекурсивного члена, затем применить ROW_NUMBER, затем отфильтровать по нему. в частности решение andreymx (точнее, последнюю его часть) Код: plsql 1. 2. 3. 4. 5. 6.
я хотел (точнее не хотел, а не знал что можно так использовать MAX(Ss.Id_to1) KEEP (DENSE_RANK FIRST ORDER BY COUNT(*)) ) бы переписать таким образом( в MSSQL это возможно) Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2013, 14:28 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
andreymxобычным SQL за 0.2 сек на Оракл 9.2? это реально :-)А можно два слова о подходе? И что означают колонки и цифры в таблице ss? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 01:31 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
Благодарный читательandreymxобычным SQL за 0.2 сек на Оракл 9.2? это реально :-)А можно два слова о подходе? И что означают колонки и цифры в таблице ss?да там вроде всё понятно - что за подход ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 10:02 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
andreymxБлагодарный читательпропущено... А можно два слова о подходе? И что означают колонки и цифры в таблице ss?да там вроде всё понятно - что за подход Он оказался слишком гениален для меня. Так же как и число строк - 2008 в ss. В чем идея? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2013, 11:50 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
dbms_photoshop, Здравствуйте, а вы можете объяснить решение, пожалуйтста. Например, комментариями, не совсем понимаю, что происходит в каждой строке. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2020, 22:18 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
Jack963 dbms_photoshop, Здравствуйте, а вы можете объяснить решение, пожалуйтста. Например, комментариями, не совсем понимаю, что происходит в каждой строке. Смирись. Если ты не в состоянии понять что-либо работающее, ты, тем более, не сможешь создать что-нибудь близкое по сложности сам. Ищи другую нишу для трудоустройства. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 07:56 |
|
пятничная задачка (про) коня
|
|||
---|---|---|---|
#18+
Jack963 dbms_photoshop, Здравствуйте, а вы можете объяснить решение, пожалуйтста. Например, комментариями, не совсем понимаю, что происходит в каждой строке. Вместо того, чтоб почитать про метод ты решило избавиться от процедур и функций и сделать решение более сложным для понимания. Это персональный выбор каждого - включить мозг или заниматься вредительством. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 13:18 |
|
|
start [/forum/topic.php?fid=52&msg=38174177&tid=1881402]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 266ms |
total: | 409ms |
0 / 0 |