|
|
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Увидел в PostgreSQL такую удобную штуку: Код: sql 1. 2. 3. 4. А есть ли такое в Oracle? У меня есть несколько многоэтажных запросов, они бы существенно сократились. Да и выглядит на мой взгляд удобнее. На диаграммах я такой возможности не вижу, но может быть не там ищу. ________________________ Мы смотрим с оптимизмом... ...в оптический прицел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2017, 14:19 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2017, 15:09 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B., думаю что, нет да и не так часто мне ето нужно или я не понял фичу мне было-бы удобно 1) group by 1,3 2) із май скуеля select x a,a*x a2, a2*x a3 ... ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2017, 15:37 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
SY , я про другую "многоэтажность". Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2017, 11:31 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B. SY , я про другую "многоэтажность". Код: sql 1. 2. 3. 4. 5. 6. 7. Открой для себя макроподстановки (&) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2017, 12:33 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax..мне было-бы удобно 1) group by 1,3Этого не будет, потому что не может быть никогда. order by выполняется в последнюю очередь, когда уже все посчитано. После group by выполняется аналитика и прочее. Абсолютно некорректно было бы использовать номера столбцов в group by, если сами значения будут посчитаны после применения оного. Пример Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. То есть, в третьем случае, если трактовать 1 не как выражение, а как номер столбца, то ты ожидаешь, что изменился бы порядок выполнения запроса, и аналитика выполнилась перед группировкой, что привело бы к результату Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2017, 09:59 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopstax..мне было-бы удобно 1) group by 1,3Этого не будет, потому что не может быть никогда. order by выполняется в последнюю очередь, когда уже все посчитано. После group by выполняется аналитика и прочее. Абсолютно некорректно было бы использовать номера столбцов в group by, если сами значения будут посчитаны после применения оного. Пример Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. То есть, в третьем случае, если трактовать 1 не как выражение, а как номер столбца, то ты ожидаешь, что изменился бы порядок выполнения запроса, и аналитика выполнилась перед группировкой, что привело бы к результату Код: plaintext ? то что не будет то я верю, а вот что невозможно нет в Вашем последним случае должен дать ошибку ORA-30483: window functions are not allowed here Код: plsql 1. 2. 3. 4. 5. 6. 7. аналитику нельзя в group by при любой "нотации" какой результат, ет другой вопрос ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 15:36 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax.., Аналитика - это лишь пример. Там может быть скаляр или прочее. Суть в том, что сортировка последняя, до нее все вычислено и можно использовать номера столбцов. Гриппировка - далеко не последняя операция и выполнении запроса отсюда хотелка нерациональна. Это не рассматривая более сложные комбинации. Например. Пытаемся натянуть модель с неуникальной адресацией в измирении - закономерно получаем ошибку Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Добавляем уникальность в используемых правилах, а не по всему измерению - ОК Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Предварительно группируем и убираем "unique single reference" - тоже работает ОК (результат закономерно "схлопнутый") Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Теперь пытаемся группировать по обоим атрибутам выборки Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Про X на этапе группировки вообще ничего не изветсно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:35 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, причем сдесь модель, нельзя при любой нотации указывать "столбец" из measures, ошибку выдало не из-за указания порядкового номера/алиаса (1,2 ...) как бы выглядел пример, если БЫ ... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:46 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax..dbms_photoshop, причем сдесь модель, нельзя при любой нотации указывать "столбец" из measures, ошибку выдало не из-за указания порядкового номера/алиаса (1,2 ...) как бы выглядел пример, если БЫ ... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ...... staxЯ на конкретных примерах пытаюсь донести мысль, что вот это stax..мне было-бы удобно 1) group by 1,3 абсурд. В том и дело, что многие колонки вычисляются после группировки, поэтому хотеть использовать нумерацию в группировке несколько странно. Ты общаешься в духе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 16:57 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю, речь совсем о другом. Дело не в том, что group by вычисляется не в самим конце — никто на значения столбцов и не ссылается. Удобно вместо повтора выражения в двух местах (в select и в group by) указывать выражение только в одном месте (в select), а в group by указывать просто номер столбца из select, из которого нужно использовать выражение. Особенно это удобно для многоэтажных выражений, которые в этом случае можно было бы указывать только один раз: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Не то, чтобы без этого нельзя было бы прожить, но это удобство, которое несложно было бы реализовать (парсер при выявлении номера столбца просто бы подставлял вместо номера выражение из select). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:12 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B., Ты ничего не понял как и Станислав. Ок, ждите. stax..мне было-бы удобно 1) group by 1,3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:18 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopstax..dbms_photoshop, причем сдесь модель, нельзя при любой нотации указывать "столбец" из measures, ошибку выдало не из-за указания порядкового номера/алиаса (1,2 ...) как бы выглядел пример, если БЫ ... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ...... staxЯ на конкретных примерах пытаюсь донести мысль, что вот это stax..мне было-бы удобно 1) group by 1,3 абсурд. В том и дело, что многие колонки вычисляются после группировки, поэтому хотеть использовать нумерацию в группировке несколько странно. не надо бездумно колонки впихивать в group by, из модель/аналитики оракля их по любому не пропускает, хотя аналитику мог и пропустить что ораклю не понятно в примере Код: plsql 1. 2. 3. 4. 5. 6. 7. Вы меня не переубедили ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:18 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B.никто на значения столбцов и не ссылается И что тогда должно означать? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:24 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax..Вы меня не переубедили Да я уже и не пытаюсь. Тебя же совершенно не смущает, что, если в запросе 10 колонок, то может случиться так, что в группировке ты сможешь указывать только, скажем 2,5,7 потому что остальные считаются после группировки. А в скортировке ты можешь указывать всегда любую комбинацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:25 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B.Насколько я понимаю, речь совсем о другом. Дело не в том, что group by вычисляется не в самим конце — никто на значения столбцов и не ссылается. Удобно вместо повтора выражения в двух местах (в select и в group by) указывать выражение только в одном месте (в select), а в group by указывать просто номер столбца из select, из которого нужно использовать выражение. Особенно это удобно для многоэтажных выражений, которые в этом случае можно было бы указывать только один раз: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Не то, чтобы без этого нельзя было бы прожить, но это удобство, которое несложно было бы реализовать (парсер при выявлении номера столбца просто бы подставлял вместо номера выражение из select). не обязательно номер, удобно и алиас я номер привел, чтоб более понятно было о чем я ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:28 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Лично меня, тут больше вероятность ошибки пугает. Удалили/добавили поле в select list и все. Нумерация уехала, фиг ошибку найдешь и обратно реконструируешь, какая же идея была в запрос исходным автором вложена. С учетом, что в системах под Oracle бывают НУ ОЧЕНЬ большие и многовложенные запросы - контроль синтаксиса и ошибок станет просто смертельный. Copy / past выражений тоже раздражает. Но указание колонок по номеру, приведет к полному падению supportability кода. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:30 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
-2-Alibek B.никто на значения столбцов и не ссылается И что тогда должно означать? Код: plsql 1. должен дать ошибку ERROR at line 1: ORA-00934: group function is not allowed here ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:32 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopstax..Вы меня не переубедили Да я уже и не пытаюсь. Тебя же совершенно не смущает, что, если в запросе 10 колонок, то может случиться так, что в группировке ты сможешь указывать только, скажем 2,5,7 потому что остальные считаются после группировки. А в скортировке ты можешь указывать всегда любую комбинацию. почему меня должно смущать, я ж не бездумно указываю 2,5,7 меня ж не смущает что в ордер бай іногда проходіт только "позиционная/алиасная нотация" ps мне более інтересно в чем я неправ с коннект бай .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:49 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЛично меня, тут больше вероятность ошибки пугает. Удалили/добавили поле в select list и все. Нумерация уехала, фиг ошибку найдешь и обратно реконструируешь, какая же идея была в запрос исходным автором вложена. С учетом, что в системах под Oracle бывают НУ ОЧЕНЬ большие и многовложенные запросы - контроль синтаксиса и ошибок станет просто смертельный. Copy / past выражений тоже раздражает. Но указание колонок по номеру, приведет к полному падению supportability кода. IMHO & AFAIKну ладно, хрен с вами, лично мне тоже групп бай по номерам результирующих колонок нафиг не впал давайте групп бай по алиасам тех колонок, уже можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:57 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЛично меня, тут больше вероятность ошибки пугает. Удалили/добавили поле в select list и все. Нумерация уехала, фиг ошибку найдешь и обратно реконструируешь, какая же идея была в запрос исходным автором вложена. С учетом, что в системах под Oracle бывают НУ ОЧЕНЬ большие и многовложенные запросы - контроль синтаксиса и ошибок станет просто смертельный. Copy / past выражений тоже раздражает. Но указание колонок по номеру, приведет к полному падению supportability кода. IMHO & AFAIK а в ордер бай не смущает? причем древних версиях иногда только позиционная я понимаю что последствия несколько меньшие я ж уточнял, в идеале не 1,4, а алиасы, если удалили ошибка юююю stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 17:58 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
andreymxдавайте групп бай по алиасам тех колонок, уже можно? авторЭтого не будет, потому что не может быть никогда. +1 ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:01 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax..а в ордер бай не смущает? причем древних версиях иногда только позиционная я понимаю что последствия несколько меньшие staxбыло несколько раз, когда в результате неверной сортировки показывалась совершенно иная картина когда приложение строит, например, какой-то аналог дерева ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:02 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
andreymxstax..а в ордер бай не смущает? причем древних версиях иногда только позиционная я понимаю что последствия несколько меньшие staxбыло несколько раз, когда в результате неверной сортировки показывалась совершенно иная картина когда приложение строит, например, какой-то аналог дерева да я верю топ N на основе ордер бай тоже важными бывают ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:06 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax..andreymxдавайте групп бай по алиасам тех колонок, уже можно? авторЭтого не будет, потому что не может быть никогда. +1 ..... staxТы мои ответы не приписывай к иным формулировкам, ок? Про connect by речь шла вообще в другой теме и я довольно внятно указал, что искать в доке. Если интересуют детали - я описывал в The Power of Oracle SQL . Но я один раз тебе давал ссылку, так что полагаю, что у тебя нет желания читать. А у меня нет желания копипастить одно и то же и расжевывать по 100 раз. На этом предлагаю и разойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 18:13 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopstax..пропущено... пропущено... +1 ..... staxТы мои ответы не приписывай к иным формулировкам, ок? Про connect by речь шла вообще в другой теме и я довольно внятно указал, что искать в доке. Если интересуют детали - я описывал в The Power of Oracle SQL . Но я один раз тебе давал ссылку, так что полагаю, что у тебя нет желания читать. А у меня нет желания копипастить одно и то же и расжевывать по 100 раз. На этом предлагаю и разойтись. с чего Вы взяли что ето Ваш ответ, ето Ваша формулировка(фраза), но не Ваш ответ нет желания разжевывать, я ж не настаиваю, да и вряд ли мне пригодится в реальной жизни, редко коннект бай успользую, тем более с ровнум вопрос для меня больше познавательный чем практический Вы ж тоже сюда дали ссылку из другой темы книжку скачал давно (спасибо за труд), начал читать, но ж надо внимательно, счас нет времени отвлечься надолго 90% что прочитаю , но не счас, не хочу просто листать, надо вникать в примеры ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 19:05 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax.., Со мной можно на ты, меня один а не много. Я категорично высказывался по поводу использовании номеров в группировке С алиасами может и можно сделать, а может я что-то упускаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 19:12 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopstax.., Со мной можно на ты, меня один а не много. Я категорично высказывался по поводу использовании номеров в группировке С алиасами может и можно сделать, а может я что-то упускаю. какая принципиальная разница? если колонок меньше то ORA-01785: GROUP BY item must be the number of a SELECT-list expression мне просто неудобно, ладно там копи/пасте, так надо ж алиас удалять ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:05 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax..какая принципиальная разница?Order by по номерам провокационный синтаксис, влекущий трудновыводимые ошибки. А с group by поезд уже уехал. Добавление возможности группировать по алиасам или номерам может поломать существующие запросы, причем синтаксическая валидность может сохраниться, а стрельнет очень больно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:35 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
-2-А с group by поезд уже уехал. Добавление возможности группировать по алиасам или номерам может поломать существующие запросы, причем синтаксическая валидность может сохраниться, а стрельнет очень больно.пока придумать не могу, где и как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 20:37 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
-2-stax..какая принципиальная разница? Order by по номерам провокационный синтаксис, влекущий трудновыводимые ошибки . А с group by поезд уже уехал. Добавление возможности группировать по алиасам или номерам может поломать существующие запросы, причем синтаксическая валидность может сохраниться, а стрельнет очень больно. повторно в старых версиях были варианты запросов (с юнион) где сортировка только по номерах, и в доке было отражено как в новых не знаю, не проверял ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 21:02 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax.., Код: 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. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2017, 21:06 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax.., есть бажок ~парсера. лечится Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 14:52 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
orawishstax.., есть бажок ~парсера. лечится Лечение может привести к осложнениям Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Regards Maxim ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 15:21 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
[quote Maxim Demenko]orawishstax.., Хотя, сорри, гоню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 15:25 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
orawishесть бажок ~парсера. А в чем баг? Насколько я помню диаграмму, order by относится только к текущему select, он не может знать о вышестоящих union all. Я всегда union all вношу в подзапрос, а сортировку делаю снаружи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 15:32 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B.orawishесть бажок ~парсера. А в чем баг? Насколько я помню диаграмму, order by относится только к текущему select, он не может знать о вышестоящих union all. Я всегда union all вношу в подзапрос, а сортировку делаю снаружи. баг в том, что в случае union (или union all) запрос стабилен только если алиас колонок дублируется в каждой (разве только, кроме последней ? ;) ветви union/union all чтобы с нестабильностью этой не связываться, рекомендую сортировку после факторинга делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 16:42 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B.orawishесть бажок ~парсера. А в чем баг? Насколько я помню диаграмму, order by относится только к текущему select, он не может знать о вышестоящих union all. Я всегда union all вношу в подзапрос, а сортировку делаю снаружи. нет, order by относится ко всему селекту ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 18:17 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Maxim Demenko, [offtop] А ты forums.oracle.com постишь что-то относительно регулярно или только тут и в oracle-l? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 18:45 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopMaxim Demenko, [offtop] offtop Я и здесь то нерегулярно, oracle.forums - наверное лет десять назад постил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 19:27 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
stax..andreymxдавайте групп бай по алиасам тех колонок, уже можно? авторЭтого не будет, потому что не может быть никогда. +1 ..... staxДолжен сообщить что ваша хотелка с группированием по номерам колонок уже реализована в других движках. При этом корректно обрабатывается ситуация когда по колонке группировать недопустимо. Переходите на Big Data. Impala Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. Я по прежнему считаю это нелогичным, хотя какое это уже имеет значение. Группировка по алиасу тоже работает. Эти запросы возвращают тот же результат, что и первый. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 02:15 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopЯ по прежнему считаю это нелогичным, хотя какое это уже имеет значение. логично или нет, что в в Оракле есть select from dual, а в MSSQL есть SELECT from ниоткуда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 09:04 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
andreymxdbms_photoshopЯ по прежнему считаю это нелогичным, хотя какое это уже имеет значение. логично или нет, что в в Оракле есть select from dual, а в MSSQL есть SELECT from ниоткуда? не в курсе о SELECT from ниоткуда но мне более логичным вместо select f from dual кажется select f (вообще без from) именно ниоткуда, просто выбрать/получить/посчитать select f from dual - выбрать все строки из дуал и посчитать для каждой строки ф зачем так сложно да и ходили слухи о какой-то там конкуренции за дуал потом прыдумили какую-то фаст дуал ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 11:00 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
andreymxdbms_photoshopЯ по прежнему считаю это нелогичным, хотя какое это уже имеет значение. логично или нет, что в в Оракле есть select from dual, а в MSSQL есть SELECT from ниоткуда?Это вопрос идеологии. Почему бы не сделать from таким же опциональным как where clause? Ну и такой подход в большинстве СУБД. Кто касается МССКЛ, то большая странность это селект в никуда. Когда в процедуре не объявляешь выходных параметров, а просто пихаешь в нее запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 13:25 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopПочему бы не сделать from таким же опциональным как where clause?некоторые постмодернисты еще и без select обходятся: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2017, 23:47 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Staxно мне более логичным вместо select f from dual кажется select f (вообще без from) именно ниоткуда, просто выбрать/получить/посчитать А почему в "ниоткуда" 1 запись, а не 500 или 0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 09:36 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B.почему в "ниоткуда" 1 записьаналогичные измышлизмы применимы и к where. Почему при неуказанном условии все строки, а не null строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 09:44 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopКто касается МССКЛ, то большая странность это селект в никуда.Ну почему же в никуда? На клиента. Почему же странность? Это для нас, ораклистов, по первой, непривычно. Я вот поюзал, привык, удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 10:15 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
AmKaddbms_photoshopКто касается МССКЛ, то большая странность это селект в никуда.Ну почему же в никуда? На клиента. Почему же странность? Это для нас, ораклистов, по первой, непривычно. Я вот поюзал, привык, удобно.Я то начинал как МССКЛ разработчик и первый раз как раз оказался на этом форуме -ннадцать лет назад потому что возник вопрос "как узнать тип результата процедуры". Это спустя некоторое время стало очевидно что никак, потому что она может содержать примерно такой код Код: sql 1. 2. 3. 4. Так вот если разрабатывать модульное ПО, то намного удобнее посмотреть на сигнатуру и понять что на вход и что на выход чем ковырять код. PS. Кроме клиента процедуры могут вызывать другие процедуры, не так ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 13:44 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, Удобно, когда на клиента надо выплевывать шапку, данные и footer меняющегося от месяца к месяцу отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 14:01 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
AmKad, Вот категорически с тобой не соглашусь. Во-первых не надо смешивать уровень визуализации с уровнем данных. Во-вторых код должен быть самодокументированым. В-третьих если отчет "очень динамический", то надо реализовывать механизмы ad-hoc reports для пользователей или другие стредства анализа данных типа кубов и пивот таблиц. А если решулярно меняются требования и кодер регулярно вставляет костыли, значит что-то не так в вашей консерватории. Хотя, если все довольны... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 14:07 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Ну я пока не такой модный, чтобы соответствовать перечисленным тобою паттернам, а разраб клиента уж очень хотел абстрагироваться от изменений данного отчета, поэтому я по-говнокодерски выставил ему одну процедуру, внутри которой в зависимости от выбранного отчетного периода case-ами разруливается вызов той или иной вложенной ХП, которая выплевывает актуальные датасеты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 14:33 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
из-за 10 кейжатийаналогичные измышлизмы применимы и к where. Аналогия неверная. where это по определению ограничивающая кляуза, она может только сократить набор, а не расширить. Если ее нет, значит ничего ограничивать не нужно и нужно возвращать весь набор данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 14:35 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
AmKadразраб клиента уж очень хотел абстрагироваться от изменений данного отчета Знаю я этого разраба, до сих пор ходит в каске абстрагирует и улыбается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 14:49 |
|
||
|
Именованное окно для аналитических функция
|
|||
|---|---|---|---|
|
#18+
Alibek B.where это по определению ограничивающая кляузаОпределения это принятые соглашения. Отсутствие значения обозначается nullом. Отсутствие сортировки согласуется с order by null. Отсутствие start with приняли за start with true, но connect by null. Отсутствие джоина соответствует cross join dual. Отсутствие where субд-логично принять за where null, но по_определили, что это where true. Вот в некоторых СУБД так же по_определили, что отсутствие from это не некий ... from true, виртуальное множество из одной строки и без полей. Кстати, в некоторых СУБД нет хранимых процедур. Ну как может быть функция без возврата значения?! хотя бы viod! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2017, 15:44 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1884964]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
160ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 479ms |

| 0 / 0 |
