Hola Antonio,
Asumo que no sabés qué cantidad de documentos tendrás por cada código.
Espero que te sirva y que no tengas demasiada información, no encontré mejor manera de hacerlo:
CREATE TABLE test1
(orden smallint not null, doc char(20))
INSERT test1 SELECT 1, 'Doc1'
INSERT test1 SELECT 1, 'Doc2'
INSERT test1 SELECT 1, 'Doc3'
INSERT test1 SELECT 2, 'Doc4'
INSERT test1 SELECT 2, 'Doc5'
CREATE INDEX test1 ON test1 (orden)
DECLARE @orden smallint
DECLARE @maxorden smallint
SELECT @orden = MIN(orden) FROM test1
SELECT @maxorden = MAX(orden) FROM test1
DECLARE @NAME VARCHAR(8000)
WHILE @orden <= @maxorden
BEGIN
SET @NAME = ''
SELECT @name = @NAME + rtrim(ltrim(doc)) + '; ' FROM test1 where orden = @orden
SELECT @orden, @name
SELECT @orden = MIN(orden) FROM test1 WHERE orden > @orden
END