Ver Mensaje Individual
  #9 (permalink)  
Antiguo 16/02/2008, 13:58
Avatar de Gabo77
Gabo77
 
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 18 años, 2 meses
Puntos: 6
Re: Ayuda para una consulta sql

Si lo quieres concatenado, entonces en un procedimiento almacenado igual puedes hacer algo como esto...

Código:
Create Prcodeure Sp_ObtenerhijosPorPadre
(
    @IdPadre As Integer
)
As
    Create Table #Padres
    (
        IdPadre Integer,
        Nombre VarChar(50),
        Hijos VarChar(2000),
        Procesado Bit
    )

    Declare @IdPadre As Integer,
        @Hijos As VarChar(2000)

    Insert Into #Padres
        Select IdPadre, NombreP, '', 0
        From TablaPadres

    Select Top 1 @IdPadre = IdPadre
    From #Padres
    Where Procesado = 0

    While @IdPadre Is Not Null Begin
        --Recuperar a los hijos concatenados
        Set @hijos = ''

        Select @hijos = @hijos + NombreH
        From Tablahijo
        Where IdPadre = @IdPadre

        --Actualizamos los hijos encontrados a la tabla de padres
        Update #Padres
        Set Hijos = @Hijos,
            Procesado = 1
        Where IdPadre = @IdPadre

        --Reiniciar la variable @IdPadre
        Set @IdPadre = Null

        --Recuperar al siguiente padre
        Select Top 1 @IdPadre = IdPadre
        From #Padres
        Where Procesado = 0

    End

    --Desplegar el resultado obtenido
    Select IdPadre, Nombre, Hijos
    From #Padres

    --Destruir la temporal
    Drop Table #Padres

Go
Espero que te sirva!


Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....