[Oracle] Вчера подкинули интересную задачку, вот
на олимпиаду собрался? 

неа, уже прошли те времена. ща просто мозг мучаю 
зы: задача решена, но хочется увидеть наикрасивейшее решение

зы: задача решена, но хочется увидеть наикрасивейшее решение

А ну работай, гаденыш, а не фигней страдай! 



13211311123113112211
Правильно?
Правильно?
ага, правильно!
осталось решить часть с Ораклом
to :
Я вижу ты тоже зря время не теряешь
осталось решить часть с Ораклом

to :
Я вижу ты тоже зря время не теряешь

1. Надо найти закономерность и написать еще пару рядов.это ж вроде стандартная пирамида
ну в том смысле что она в класических учебниках описана
2. Потом построить числовую пирамиду с помощью Оракл.на pl/sql это делается также как на обычном языке программирования, т.е. элементарно
хочется это получить чиста на селектах?
Сомнительно, что такое можно наваять на селектах...
По предыдущему ряду построить следующий на селектах можно.
По предыдущему ряду построить следующий на селектах можно.
На селектах еще и не такое пишут - вон разложение на множители видел на SQL.ru (используя штучки Oracle) 
P.S. Структуру не раскурил еще

P.S. Структуру не раскурил еще

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

Вобще, структура простая, как три рубля.
Ну приведи тогда примерный ход решения.
Чтоб select выдавал N первых рядов, где N - параметр select`а.
Чтоб select выдавал N первых рядов, где N - параметр select`а.
Ну приведи тогда примерный ход решения.гугла нет?![]()
вбивая в гугл 31131211131221 получаем описание алгоритма
вбивая в гугле 31131211131221 oracle получаем несколько решений этой задачки
окацца, на sql.ru задачку разложили по полочкам 
вот вам и селект, который мне показался наикрасивейшим:

вот вам и селект, который мне показался наикрасивейшим:
with t as (
select level n from dual connect by level <= 11
)
select n,q
from t
model
dimension by (n)
measures (cast('' as varchar2(4000 s,cast('' as varchar2(4000 q)
rules iterate (1000)
(
q[any] order by n=nvl(s[cv-1],1
s[any] order by n= s[cv]||
length(regexp_substr(nvl(s[cv-1],'1''(\d)\1*',1,iteration_number+1||
substr(regexp_substr(nvl(s[cv-1],'1''(\d)\1*',1,iteration_number+11,1)
)
Тебе то он может и показался наикрасивейшим, но вот для меня это очередной повод задуматься о своих знаниях по Oracle 

я тоже задумался 
и показалось, что селектик будет работать только для 10-ки и выше.

и показалось, что селектик будет работать только для 10-ки и выше.
с другой стороны, а нахрена эти знания, если запрос жутко непереносимый получается?
а что разве есть еще что-то кроме оракла? 

а что, разве нет? Хотя бы МС и Постгре
Вспомнилась поговорка про молоток и гвозди
если запрос жутко непереносимый получается?Нафиг не надо. Видел как пытаются делать все универсально - получается как обычно через одно место.
MS SQL в ближайшем времени видимо будет вполне серьезно конкурировать с Oracle.
Видел как пытаются делать все универсально - получается как обычно через одно местода ладно тебе. Вот тут в соседнем треде HQL упоминался - скажешь "через одно место"?
У нас в фирме недавно data layer портировали с грёбанного Firebird на Oracle - намучались изрядно. А если где придётся портировать код типа вышеприведённого на какой-нибудь MSSQL - это легче будет сразу повеситься.
> Вот тут в соседнем треде HQL упоминался - скажешь "через одно место"?
Честно, я не совсем понял, что там хотели (я таким программированием не занимаюсь)
> с ... Firebird на Oracle - намучались изрядно
Хе-хе, разумеется. А как ты хотел?
Мне очень нравится по этому поводу первая глава из Кайт - Оракл для профессионалов, где Кайт вопрос независимости приложения от БД поднимает.
Честно, я не совсем понял, что там хотели (я таким программированием не занимаюсь)
> с ... Firebird на Oracle - намучались изрядно
Хе-хе, разумеется. А как ты хотел?
Мне очень нравится по этому поводу первая глава из Кайт - Оракл для профессионалов, где Кайт вопрос независимости приложения от БД поднимает.
Честно, я не совсем понял, что там хотелине так важно, что хотели, важно что независимость от диалекта СУБД достигается в довольно высокой степени
MS SQL в ближайшем времени видимо будет вполне серьезно конкурировать с Oracle.это почему?
На форуме SQL.ru, те кто использует MS SQL утверждают, что он по фичастости догоняет Оракл. Правда тут несколько все неоднозначно: те кто прогит под MS SQL имеет свой подход, кто под Oracle свой (у каждого свои методы, т.к. архитектура баз сильно различается) - потому каждый на себя кусок тянет. Холиварчики можно на форуме почитать.
По процентному соотношению вакансий MS SQL уже равняется Ораклу в Мск.
По процентному соотношению вакансий MS SQL уже равняется Ораклу в Мск.
По процентному соотношению вакансий MS SQL уже равняется Ораклу в Мск.о
вот это уже реальные данные
Гы-гы-гы, глянул ща раздел Работа-Вакансии - там Оракл впереди (за счет смежных продуктов). Получается, что нагнал
Прошу прощения за дизинформацию.
Просто слишком часто спотыкался именно на MS SQL вакухи.
Прошу прощения за дизинформацию.Просто слишком часто спотыкался именно на MS SQL вакухи.
Оставить комментарий
fester
Вот числовая пирамида1
11
21
1211
111221
312211
13112221
1113213211
31131211131221
1. Надо найти закономерность и написать еще пару рядов.
2. Потом построить числовую пирамиду с помощью Оракл.