LISTAGG i DISTINCT

Jak wspomniałem we wcześniejszym wpisie w wersji 9.7.4 dodano nową funkcję LISTAGG. Oto przykład zaczerpnięty z dokumentacji:


>>-LISTAGG--(--string-expression--+--------------+--)----------->
'-,--separator-'

>--+------------------------------------------------------+----><
| .-,------------------. |
| V .-ASC--. | |
'-WITHIN GROUP--(--ORDER BY----sort-key--+------+-+--)-'
'-DESC-'

Podczas testów okazało się, że w wyrażeniu string-expression nie działa wyrażenie DISTINCT (być może nie było ono tam planowane). Ponieważ używając bezpłatnej wersji DB2 Express-C nie można bezpośrednio zgłosić błędu używając Problem Management Record (PMR) problem został zgłoszony na jednej z grup dyskusyjnych. W odpowiedzi Serge Rielau (SQL Architect DB2 for LUW) z kanadyjskiego oddziału IBM zapowiedział, że jeżeli to możliwe to w nowej wersji (lub nowym pakiecie poprawek - fixpack) takie wywołanie funkcji LISTAGG(DISTINCT NAZWA_KOLUMNY) zadziała poprawnie. Jeśli nie uda się zaimplementować takiego rozwiązania takie wywołanie funkcji zwróci błąd. Cóż, pozostaje czekać do następnej wersji. Zobaczymy czy prośby użytkowników wersji Express-C zostaną spełnione.


Comments are closed.