|
|
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
как обьединить результат запроса в одну строчку через запятую допустим select text from table выдет так 1 text 2 text 3 text а мне нужно 1 text,text,text ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:15 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:24 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
спс конкат сработал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:31 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
qwerty2012, только смотри, чтобы при установке очередного патча у тебя на выходе с неё CLOB не получился.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:40 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
а тогда может попробовать написать функцию которой буду передавать селект, а она будет в одну строчку все соединять тока вот не знаю как в функцию результат запроса передать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:44 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
qwerty2012тока вот не знаю как в функцию результат запроса передать курсор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:52 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
qwerty2012спс конкат сработал Прочитайте и про то и про другое - и там и там есть подводные камни. например wm_concat - недокументируемая функция и как Вам уже сказали - в разных версиях oracle - у нее разный тип возврата. Для 10.2.0,5 и 11g - это clob, для более старых - VARCHAR2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:55 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
create or replace function Table_count (My_Table in varchar2) return varchar2 is n number; s varchar(1000); begin s:= 'select text from '||My_Table; execute immediate s; return n; end; как пройти по результату запроса и сконтенировать все его строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 10:18 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
qwerty2012, авторкак пройти по результату запроса и сконтенировать все его строки? так же 13476291 for ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 10:29 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
qwerty2012, и туда же ТОП 14 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 10:31 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
о чем ты говоришь 123ий??? create or replace function ListName(p1 number) return varchar2 is Result varchar2; begin open p_cursor FOR select text from table where id=p1 ; return(Result); end ListName; как по курсору теперь пробежаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 10:41 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
create or replace function ListName(p1 number) return varchar2 is Result varchar2; begin open p_cursor FOR select text from table where id=p1 ; LOOP FETCH p_cursor INTO l_num; EXIT WHEN p_cursor % notfound; Result:=Result+l_num.text; END LOOP; CLOSE p_cursor; return(Result); end ListName; так правельно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 10:47 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
qwerty2012, да прочтите наконец документацию или посмотрите ТОП 14 Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 10:50 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
stil, снкс за wm_concat аккурат вчера убил кучку времени, на правда при больше 32k имеем Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. (с LISTAGG имеем то же [кажется] ещё раньше [4000]: Код: plsql 1. ) но если целенаправленно лезть в CLOB то вот такое например можно наваять на коленке: Код: 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. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. -- видим, затраты на то, чтобы получить одну длинную строку великоваты. т.ч. разве что факультативный интерес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 11:05 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
наваятьвидим, затраты на то, чтобы получить одну длинную строку великоваты. т.ч. разве что факультативный интерес.clob_agg получается из str_agg буквально заменой пары слов. Если тебе нужна производительность, то убери STRING_TOAGG_TYPE и сравни еще раз. Входной параметр в обоих случаях - varchar2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 11:14 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 11:30 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopнаваятьвидим, затраты на то, чтобы получить одну длинную строку великоваты. т.ч. разве что факультативный интерес.clob_agg получается из str_agg буквально заменой пары слов. Если тебе нужна производительность, то убери STRING_TOAGG_TYPE и сравни еще раз. Входной параметр в обоих случаях - varchar2.зачем мне производительность без комфорта - той же опции смены разделителя ? сначала отпилим ноги по колено - потом заставим с этим жыть -- типичный оракел стайл а то что заменой пары слов - так так вы это верно подметили, так и получено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 11:38 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
наваять, Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 11:58 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 12:20 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopнаваять, Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 13:07 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
наваятьdbms_photoshopнаваять, Код: plsql 1. 2. 3. 4. 5. 6. 7. Ты прав, эта конструкция крайне сложна и додуматься ой как непросто. Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 13:45 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopнаваятьпропущено... Ты прав, эта конструкция крайне сложна и додуматься ой как непросто. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. теперь обвесь это всё проверкой на null, -- в общем случае, а не в случае теста, добавь таки вывод самой строки, и сравним наши микросекунды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 20:11 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
убил,, Поинт был в том, что вполне можно обойтись без конструирования объекта пользовательского типа для каждой строки. Но похоже это не для твоего ума. Тайминг просто скопировался из SQL*Plus. Ясно что сравнивать тайминги на разных серверах нет никакого смысла. Впрочем, ты можешь писать любой говногод и как угодно тупить... дело твое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 20:42 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, ты не мудри, пойнт, млин оно нашло хехехе PS: ты вот лучше скажы, есть ли у вас, у быдлокоидов ораклоидов однообразный способ навязать агрегату порядок агрегирования или опять только вымороченным частным LISTAGG пользоваться? а в общем случае типа внятного Код: plsql 1. эта ваша допотопная хреновина не обучена ? многомуд..рый Оракел умеет ? они чо там, в оракле, не допускали неперестановочных (некоммутативных) агрегатов ? и так и будут для каждого нового агрегата свой собственный синтаксис рожать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2012, 12:33 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
не зли меняоднообразный способ навязать агрегату порядок агрегирования про использование в агрегатах конструкции within group (order by ...) читать не пробовал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 05:19 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхне зли меняоднообразный способ навязать агрегату порядок агрегирования про использование в агрегатах конструкции within group (order by ...) читать не пробовал? сказано жеж -- "ты не мудри, ты пальцем покажы" , хехехе -- напишы - попробую, почитайу. пока видел в оракле только один агрегат, который поддерживает этот самый within group (order by ...)- тот самый listagg, упомянутый выше . беглый поиск по оракловому говнищу, имитирующему хэлп, не выдал развёрнутой справки по юзанию этого чуда на все случаи пользования. то же самое и с беглым гуглением. Т.ч. одна надёжа - набросить на ревнивых быдлокодеров, шобы они наконец сылками стали кидаццо, а не какашками, как у них (да ещё у 1С-конфигурастов) заведено. Но с первого раза видимо слабо набросил. никого не задело. или никто не знает сцылок, а только бухтит словеса в кучку, типа старого э-эха. - не хотелось переводить старого, доброго э-эха в разряд пустоболов, но пока нет тынца - приходиццо поправьте меня: (ну по самому ора-хелпу ещё пара таких ф-й наскребается - RANK и процентиль) ЗЫ: особо интересует как эту кляузность прилепить к самопальным агрегатам типа string_agg, ибо в простоте имею Код: plaintext 1. 2. 3. 4. причом вот тут - беглым глазом нифуа не вижу рукояток, позволяющих прикрутить этот самый WITHIN GROUP к самопалу. То ли они отсутствуют, как класс, то ли на них поленились указать. а я типа туплю. ну тогда подымите мне веки, ага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 10:33 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
не зли меня,пока видел в оракле только один агрегат, который поддерживает этот самый within group (order by ...)- тот самый listagg, упомянутый выше .xmlagg. а к каким еще агрегатам имеет смысл порядок? для самопальных, накрайняк, можно сортировать внутри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 10:43 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
еще персентиль с сортировкой, ну и first/last ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 10:44 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
-2-еще персентиль с сортировкой, ну и first/lastперсентиль видал, ага. а где first/last тынцы ? их у вас есть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 11:03 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
не зли меня,их у вас есть ? тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 11:11 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
-2-а к каким еще агрегатам имеет смысл порядок? К.О. Тем, у которых, результат зависит от порядка. :) Например, калькулятору. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 11:14 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
не зли меня,пока видел в оракле только один агрегат, который поддерживает этот самый within group (order by ...) Ну, тогда читаем про cume_dist , rank / dense_rank / percent_rank , percentile_cont / percentile_disc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 11:30 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
не зли меня,FIRST/LAST присутствует только в виде + кляузы KEEP к мин/макс-у. если я не прав - поправьте.В данном контексте, ка раз, всё с точностью до наоборот - min/max - кляуза к first/last. И даже так будет сказать неправильно, ибо к first/last может быть прикручен совершенно любой другой агрегат, как то sum, count и т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 12:54 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
не зли меня,прикручиваться к любой аналогичной ф-ии.примерчик, на каких данных sum меняется от перестановки мест слагаемых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 14:30 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#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. Код: plsql 1. не? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2012, 16:36 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Мне надо агрегировать текстовую строку вот так: select string_agg ( n ) from ( select '5' as n from dual union all select '6' from dual ) t --- > '5,6' Как мне это сделать? select string_agg (distinct n order by n desc) from ( select '5' as n from dual union all select '5' from dual union all select '6' from dual ) t --- > '6,5' пока писал уже подсказали select listagg(n, ',') within group (order by n) from ( select '5' as n from dual union all select '6' from dual ) t ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2017, 16:28 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
А distinct только подзапросом )-: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2017, 16:31 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
ZiB, Можно так извернуться, если в данных нет твоего разделителя (в данном случае ",") Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2017, 17:01 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
MaximaXXLМожно так извернуться, если в данных нет твоего разделителя (в данном случае ",") Есть стандартный способ получения distinct listagg - аналитика Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2017, 18:37 |
|
||
|
как обьединить результат запроса в одну строчку через запятую
|
|||
|---|---|---|---|
|
#18+
SY, А так аналитика без case Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Думаю много есть способов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2017, 19:14 |
|
||
|
|

start [/forum/topic.php?all=1&fid=52&tid=1885521]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
168ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 461ms |

| 0 / 0 |
