Łączenie tekstów z różnych rekordów.

0

Dzień dobry,
Mam zagwozdkę. Być może ktoś mógłby mi pomóc.
Ms SQL Server
Jest tablica:
Nr; obiektu; Kolejność; Punkt
1; 1; a
1; 2; b
1; 3; c
1; 4; d
1; 5; e
2; 1; a
2; 2; b
2; 3; c
3 1; a
3 2; b
3 3; c
3 4; d

Chciałbym uzyskać efekt:

Nr; obiektu; Kolejność; Punkt; Sekwencja
1; 1; a; a
1; 2; b; a,b
1; 3; c; a,b,c
1; 4; d; a,b,c,d
1; 5; e; a,b,c,d,e
2; 1; a; a
2; 2; b; a,b
2; 3; c; a,b,c
3; 1; a; a
3; 2; b; a,b
3; 3; c; a,b,c
3; 4; d; a,b,c,d

Czy jest ktoś w stanie mi pomóc?

2
SELECT 
  t.nr, 
  t.kolejnosc, 
  t.punkt, 
  STUFF((SELECT ', ' + punkt FROM tabela WHERE nr = t.nr AND kolejnosc <= t.kolejnosc FOR XML PATH ('')), 1, 1, '')
FROM tabela t;
0

hmmmm. zaaplikowałem i poszło coś nie tak:
NR_POC; indeksStacji; Nazwa_stacji_od
1303; 1; Warszawa Wschodnia
1303; 2; Warszawa Centralna
1303; 3; Warszawa Zachodnia
1601; 1; Warszawa Wschodnia
1601; 2; Warszawa Centralna
1601; 3; Warszawa Zachodnia
1601; 4; Częstochowa Stradom
1601; 5; Opole Główne

skrypt:
SELECT
t.[NR_POC],
t.[indeksStacji],
t.[Nazwa_stacji_od],
STUFF((SELECT ', ' + [Nazwa_stacji_od] FROM [Jaremak].[dbo].[test_indeks] WHERE [NR_POC] = t.[NR_POC] AND [indeksStacji] <= t.[indeksStacji] FOR XML PATH ('')), 1, 1, '')
FROM [Jaremak].[dbo].[test_indeks] t

i wyszło:
NR_POC indeksStacji Nazwa_stacji_od (No column name)
1303 1 Warszawa Wschodnia Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia, Warszawa Wschodnia
i tak dalej.
Czyli nawklejał za dużo.

1

U mnie działa :) Zapewne masz wiele pociągów z tym samym id w tabeli.

http://sqlfiddle.com/#!6/dc91c5/1

0

Znalazłem co było nie tak. Oczywiście miałeś rację. Dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0