Łączenie tekstów z różnych wierszy przy grupowaniu

Użytkowanie programu bazodanowego
mactator
Posty: 1
Rejestracja: śr sie 07, 2013 1:40 pm

Łączenie tekstów z różnych wierszy przy grupowaniu

Post autor: mactator »

Witam,

posiadam tabelę, którą chcę zgrupować w kwerendzie za pomocą polecenia grupuj (w sql GROUP BY), i mam pytanie czy jest możliwe połączenie tekstów występujących w jednej kolumnie w całość, dla przykładu:

Kod: Zaznacz cały

1  e
1  r
1  r
2  a
2  t
2  a
 
na

Kod: Zaznacz cały

1  err
2  ata
 
W mySQL użyłbym GROUP_CONCAT, próbowałem xml path ale nie działał (albo źle zastosowałem). Nowa wersja hsql (2.3.0) pozwala również wykorzystać GROUP_CONCAT.

Korzystam z ostatniej wersji 3.4.1 openOffice.org na windows8.

PS jak ktoś zaproponuje lepszy temat to będzie on lepszy ;)
OpenOffice 3.4.1 na Windwos 8
Jan_J
Posty: 4626
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Łączenie tekstów z różnych wierszy przy grupowaniu

Post autor: Jan_J »

W standardzie SQL nie ma funkcji budującej tekst z iteracji po wierszach. Choć w niektórych rozszerzeniach istnieje (np. we wspomnianym MySQL).
W systemach dopuszczających budowanie własnych funkcji można ją sobie napisać. W HSQLDB służy do tego polecenie CREATE FUNCTION (patrz http://hsqldb.org/doc/2.0/guide/sqlroutines-chapt.html). Wbudowana w Base wersja 1.8.x zdaje się (http://www.hsqldb.org/doc/1.8/guide/) nie mieć takiej możliwości. Kiedyś ludzie pisali klasy Javy, żeby doposażyć Base w dodatkowe funkcje.

O współpracy Base z HSQL 2.x obszernie pisze Andreas Säger aka Villeroy na forach anglojęzycznych. Patrz http://forum.openoffice.org/en/forum/vi ... 40&t=61155
JJ
LO (25.2|24.8) ∙ Python (3.12|3.10) ∙ Unicode 16 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ