Que tal Diana.
Mediante una sentencia SQL no esposible obtener los resultados como indicas, al menos en SQL Server 2000, nosé para 2005.
Pasando a lo que necesitas, puedes recorrer el resultado de una consulta usando
CURSORES.
Como en el siguiente ejemplo:
Código:
DECLARE @lstClientesActivos varchar(8000)
DECLARE @lstClienteActivo varchar(100)
DECLARE curCliente CURSOR FOR
SELECT clienteactivos from clientes where ciudad='mty'
OPEN curCliente
SET @lstClientesActivos =''
FETCH NEXT FROM curCliente
INTO @lstClienteActivo
WHILE @@FETCH_STATUS = 0
BEGIN
SET @lstClientesActivos = @lstClientesActivos + @lstClienteActivo + ','
FETCH NEXT FROM curCliente
INTO @lstClienteActivo
END
CLOSE curCliente
DEALLOCATE curCliente
-- quitar la última coma
If Len(@lstClientesActivos ) > 0
@lstClientesActivos = Substring(@lstClientesActivos, Len(@lstClientesActivos)-1)
En resumen para usar un cursor pasas por las siguientes fases:
Declararlo.
DECLARE curCliente CURSOR FOR
SELECT clienteactivos from clientes where ciudad='mty'
Abrirlo: OPEN curCliente
Avanzar al siguiente registro y vaciar a variables:
FETCH NEXT FROM curCliente
INTO @lstClienteActivo
Preguntar sino esta en el fin del cursor:
@@FETCH_STATUS = 0
Y por último, cerrar y liberar el cursor:
CLOSE curCliente
DEALLOCATE curCliente
Espero haber sido claro y consiso.
Saludos y suerte!