Połączenie rekordów w jeden string

Połączenie rekordów w jeden string
SW
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 426
0

Czy w informixie istnieje łatwy sposób na połączenie kilku rekordów w jeden string? Dodatkowo wartości rozdzielane jakimś znakiem.

Mając tabelę:

id imie
1 Jacek
1 Marta
2 Maciek
2 Lukasz
3 Ola

chciałbym aby wynikiem SQL były rekordy:

id imie
1 Jacek,Marta
2 Maciek,Lukasz
3 Ola
Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

A możesz podzielić się z nami po co chciałbyś coś tak dziwnego zrobić?

ML
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 867
0

Nic w tym dziwnego, czasem tak trzeba dane zaprezentować.
Nie wiem nic o Informixie ale spróbuj tak połączyć dane w jeden wiersz:
Działa w SQLServerze.

Kopiuj
 
DECLARE @List VARCHAR(1000)
SELECT @List = COALESCE(@List+', ' ,'') + t.imie
FROM Tabela t

SELECT @List
SW
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 426
0

Bo mam kod, który robi eksporty pewnych tabel(warstw) - metoda przyjmuje SQLa, który mówi co eksportować. Nie chce robić jednego ifa w środku metody, żeby akurat dla tej jedynej sytuacji tworzył/eksportował dane inaczej.

W SQLu, który przekazuje jest łączenie tabel, no ale w drugiej tabeli jest relacja jeden do wielu - dlatego takie coś jest mi potrzebne ;P

XI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 245
0

W SQL Server jest taki mechanizm, kiedyś musiałem skorzystać i działa: http://sqlandme.com/2011/04/27/tsql-concatenate-rows-using-for-xml-path/
Informix'a nie widziałem na oczy ale idąc podobnym tokiem po googlach to może rozwiązanie wchodzi w standard SQL: http://www.kodyaz.com/articles/concatenate-using-xml-path.aspx

  • Rejestracja: dni
  • Ostatnio: dni
0

A co sie stało z group_concat? Toż to specjalnie do tego napisana funkcja
select id, group_concat(imie separator ", ") from tabela group by id

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

Ha na stackoverflow jest dokładnie ten sam problem z odpowiedzią: http://stackoverflow.com/a/545672/1387438

SW
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 426
0

Wszystko fajnie ale group_concat nie ma w informixie, a te ze stacoverflow chyba tez nie nadaja sie do informixa :)

Jakby nie było informix nie jest najfajniejszy, a problem rozwiązałem trochę inaczej, nie opierając się na SQLu.

Dzięki za wszystkie odpowiedźi.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.