Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2010, 06:40
eloy_ameneiros
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Agrupar varias filas en una

Hola a todos,

lo que necesito es que teniendo esto en sql server 2005:

campaña registros

Junio1 20000
Junio3 8000
Agosto2 15000
Mayo5 11875

que me muestre algo así:

campaña registros categorizacion observaciones

Junio1 20000 A,B,A,C
Junio3 8000 A,A,B
Agosto2 15000 B,C,C
Mayo5 11875 A,B,B,B,C

los primeros datos los obtengo con esta consulta:

-- Declaro una variable tabla
DECLARE @Tablas AS TABLE (Id int identity(1,1), name varchar(50), Records int)
DECLARE @Record int
DECLARE @IntTable sysname
DECLARE @OutRecords int
DECLARE @SQLString NVARCHAR(500)
DECLARE @ParmDefinition NVARCHAR(500)
SET @Record = 1
-- Inserto las tablas en custion
INSERT INTO @Tablas (name)
SELECT TABLE_NAME AS Tablas
FROM INFORMATION_SCHEMA.TABLES
WHERE (TABLE_NAME LIKE 'sccw_%')
AND (TABLE_NAME <> 'sccw_scr_table1')
AND (TABLE_NAME <> 'sccw_prueba_table')
AND (TABLE_NAME <> 'sccw_emp034_table')
-- Actualizo los registros de esas tablas
WHILE @Record <= (SELECT COUNT(*) FROM @Tablas)
BEGIN
SELECT @IntTable = name FROM @Tablas WHERE Id = @Record
/* Build the SQL string once.*/
SET @SQLString = N'SELECT @Records = COUNT(*) FROM ' + @IntTable + ' WHERE record_type = 2 AND record_status = 1 AND call_result = 28'
SET @ParmDefinition = N'@Records int output'
EXECUTE sp_executesql @SQLString, @ParmDefinition,
@Records = @OutRecords OUTPUT
-- Actualizo los registros de mi variable tabla
UPDATE @Tablas SET Records = @OutRecords WHERE Id = @Record
SET @Record = @Record + 1
END
-- Muestro lo que ha quedado al final
SELECT name AS Tablas, Records AS Registros_disponibles
FROM @Tablas
ORDER BY Tablas

Ahora necesito algo para realizar el segundo paso. Las categorizaciones se encuentran en otra tabla y necesito que se ordenen de más antigua a más reciente de izq a derch.

Gracias y un saludo.