01/06/2011, 07:39
|
| Colaborador | | Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años Puntos: 38 | |
Respuesta: Consulta en Ms-Sql una alternativa..
Código:
SELECT cod_padre
, padre
, ISNULL([1],'') hijo1
, ISNULL([2],'') hijo1
, ISNULL([3],'') hijo3
, ISNULL([4],'') hijo4
, ISNULL([5],'') hijo5
FROM (
SELECT p.cod_padre,
(p.nombre + ' ' + p.apellido) as Padre,
a.nombre hijo,
ROW_NUMBER() OVER (PARTITION BY p.cod_padre
ORDER BY a.fecha_nac ) idhijo
FROM padre p
inner join alu a
on p.cod_padre = a.cod_padre
) p
PIVOT (
MIN (hijo)
FOR idhijo IN ([1], [2], [3],[4], [5] )
) AS pvt
order by cod_padre
Código:
Resultado:
cod_padre padre hijo1 hijo1 hijo3 hijo4 hijo5
----------- --------------------------- ------------- ------------ ------ ------
1001 Juan Perez Rosa Perez Carlos Perez Pedro Perez
1002 Urias Torres Jose Torres Rosa Torres
1003 Jaime Vasquez Maria Vasquez Juan Vasquez
1004 Luis Mercado Olga Mercado
(4 row(s) affected)
Saludos!
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Última edición por Andres95; 01/06/2011 a las 07:48
Razón: resultados...
|