2016-03-30 3 views
0

I Id Verkettung müssen läuft wie Balance oder Gesamtlauf .. Concatenate die vorherigen Ids zu-Strom Id Zeile nur Klug wie in Bildsql Id Verkettung in Sequenz in einer separaten Spalte wie Gesamtlauf

enter image description here

gezeigt

Abfrage ist

with relation (Id, [orderSequence]) 
as 
( 
select Id,cast(Id as varchar(20)) 
from [ACChartofAccount] 

union all 
select p.Id, cast(Cast(r.Id as varchar) + ',' + cast(p.Id as varchar) as varchar(20)) 
from [ACChartofAccount] p 
inner join relation r on p.ParentId = r.Id 
) 

select Id,orderSequence 
from relation 
order by orderSequence 
+1

Welche DBMS verwenden Sie? –

+2

Ohne Schema ist es sehr unklar. Anyway check ** [DEMO] (http://rextester.com/RKSS5575) ** – lad2025

+0

@a_horse_with_no_name Ich schätze SQL Server basiert auf SSMS screenshoot :) – lad2025

Antwort

2

Sie unter Abfrage oben Ergebnis erhalten verwenden können.

DECLARE @Table TABLE(ID VARCHAR(10)); 
INSERT INTO @table(ID) VALUES ('320'),(332),(333),(334),(335); 
SELECT mt.ID, 
    STUFF(( 
     SELECT ', ' + ID 
     FROM @table t 
     WHERE t.ID <= mt.ID 
     FOR XML PATH('')), 1, 2, '') AS oldersequence 
FROM @table mt 
ORDER BY ID 
+0

Danke Gordon Linoff für die Formatierung. Ich bin neu, um Überlauf zu stapeln, also weiß ich nicht, wie man Formatierung tut. – Ali1320