Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/12/2006, 13:13
daniel00
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años
Puntos: 8
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!