Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. В MSSQL есть отличная команда for xml path('') склеивания в одну строку значений попадающих под определенное условие Например: select '[ ' + x.Caption00 + ' ], ' from CD_ROM_DATA x where x.MachineID = t.MachineID for xml path('') Есть ли в DB2 что-то похожее и если есть то что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 09:05 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
MAULER, Добрый день. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 09:42 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Классно, спасибо. Вроде бы работает, но не до конца. Есть запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. так вот он в listagg(vu.NODE_NAME, ', ') AS NN выводит строку, которая слеплена из значений, которые повторяются между собой. А надо, чтобы строка была из уникальных значений (без повторений). К примеру, вот этот MSSQL запрос работает верно: Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 13:25 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Т.е. я не могу внутри listagg отобрать уникальные значения. Он сцепляет в одну строку - то что есть, а мне нужно, чтобы в него попадали только уникальные значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 14:12 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
MAULER, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 14:27 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
CawaSPb, Вроде бы уже так пробовал. Но проверю! Отпишусь. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 14:30 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
MAULER, Distinct как-то не убирает дубли. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Вам надо убирать дубли во вложенном запросе, а потом отдавать listagg'у. Раскомментируйте строки для сравнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 14:39 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Да, я понимаю, что во "внешнем запросе" мне надо убирать дубли в vu.NODE_NAME, а уже потом, "скармливать" почищенную таблицу LISTAGG-у Что я и сделал: Код: sql 1. 2. 3. 4. 5. 6. выведет, хоть и не склеенные строки (нет агрегации по vu.NODE_NAME) но дублей среди значений vu.NODE_NAME не будет. Но стоит мне изменить в вышеупомянутом запросе одну строку vu.NODE_NAME на listagg(vu.NODE_NAME, ', ') AS NN как появляются дубли. Понять не могу чего я не вижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 14:59 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
MAULER, Я не очень-то понимаю логику ваших таблиц и запроса, но почему вы агрегируете по vu.NODE_NAME? Почему не так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2014, 15:15 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Всё дело в склеивании строк. Человек (который попросил меня о помощи) хочет видеть запись в виде склеенной строки из значений разделенными запятыми. Поэтому и приходится прибегать к функции агрегации Listagg (( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2014, 06:17 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
MAULER, Вы можете на примере с данными показать, что вам надо? Например, запрос: Код: sql 1. 2. 3. возвращает такие-то данные. А надо получить вот такие-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2014, 11:39 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Да, конечно. Вот этот запрос: Код: sql 1. 2. 3. 4. 5. Возвращает вот такие данные: VOLUME_NAME PCT_UTILIZED NODE_NAME BORLAND 131 NODE_2 BORLAND 131 NODE_3 BORLAND 131 NODE_5 Microsoft 123 NODE_1 Microsoft 123 NODE_2 Microsoft 123 NODE_3 Microsoft 123 NODE_5 Xerox 323 NODE_7 Xerox 323 NODE_8 А нужно, чтобы возвращал вот такие: VOLUME_NAME PCT_UTILIZED NODE_NAME BORLAND 131 NODE_2, NODE_3, NODE_5 Microsoft 123 NODE_1, NODE_2, NODE_3, NODE_5 Xerox 323 NODE_7, NODE_8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2014, 13:40 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за нечитаемый вид таблиц :( Но данных не много, там в принципе понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2014, 13:41 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Запрос Код: sql 1. 2. 3. 4. 5. 6. Возвращает вот такие данные: VOLUME_NAME PCT_UTILIZED NODE_NAME FILESPACE_NAMEBORLAND 131 NODE_2 FSN2BORLAND 131 NODE_3 FSN3BORLAND 131 NODE_5 FSN4Microsoft 123 NODE_1 FSN1Microsoft 123 NODE_2 FSN1Microsoft 123 NODE_2 FSN2Microsoft 123 NODE_3 FSN1Microsoft 123 NODE_5 FSN1Xerox 323 NODE_7 FSN6Xerox 323 NODE_8 FSN1 Если применить функцию агрегации listagg и написать: Код: sql 1. 2. 3. 4. 5. 6. то в результате, поле NN со строкой с Microsoft будет содержать NODE_1, NODE_2, NODE_2, NODE_3, NODE_5 А должна быть NODE_1, NODE_2, NODE_3, NODE_5 (т.е. с одним уникальным NODE_2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2014, 13:56 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
MAULER, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2014, 15:04 |
|
||
|
аналог for xml path
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, Прошу прощения, посмотрел на ваш последний запрос. Там FILESPACE_NAME вообще не нужна (или я не понял, зачем вы привели для нее данные), т.е.: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2014, 15:20 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=38610426&tid=1601113]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 177ms |

| 0 / 0 |
