Gerarchia padre figlio

lunedì 28 febbraio 2011 - 08.03

Bolo Profilo | Junior Member

Ciao!!!

Ho una tabella di dati con la gerarchia padre-figlio. Per fare un report avrei bisogno di una vista che mi metta nelle colonne il livello della gerarchia e sotto i dati, una cosa tipo questa (per esempio Mario è il nonno e ha due figli e dei due solo Giovanni ha un figlio):

L1 L2 L3
Mario
Mario Giuseppe
Mario Giovanni
Mario Giovanni Roberto

Spulciando un pò di post nel forum ho trovato questo codice che mi restituisce come prima colonna il livello:

WITH A_TEST ([level], padre, figlio, descrizione) AS
(
/* Anchor member */
SELECT 1, OBJ_PARENT, OBJ_CODE, OBJ_DESC
FROM r5objects
WHERE OBJ_PARENT = 'SANBA' and OBJ_ORG = 'RU'

UNION ALL

/* Recursive member */
SELECT A_TEST.level + 1, OBJ_PARENT, OBJ_CODE, OBJ_DESC
FROM r5objects
JOIN A_TEST
ON OBJ_PARENT = figlio
WHERE OBJ_ORG = 'RU'
)
SELECT *
FROM A_TEST
where (padre <> 'TET' and padre <> 'EST' and padre <> 'AUT') --and level <>
ORDER BY [level];

In quale modo posso "ribaltare la tabella" in modo tale da ottenere una cosa simile all'esempio riportato a inizio post?

Grazie!!!

alx_81 Profilo | Guru

>Ciao!!!
ciao

>Ho una tabella di dati con la gerarchia padre-figlio. Per fare
>un report avrei bisogno di una vista che mi metta nelle colonne
>il livello della gerarchia e sotto i dati, una cosa tipo questa
>(per esempio Mario è il nonno e ha due figli e dei due solo
>Giovanni ha un figlio):
>In quale modo posso "ribaltare la tabella" in modo tale da ottenere
>una cosa simile all'esempio riportato a inizio post?
Che ne dici di trasformare la parent child in mpath hierarchy?
Leggi qui:
http://www.btre.it/forum/gerarchie_sql_server-t55676.html
http://www.rampant-books.com/art_vadim_nested_sets_sql_trees.htm
http://stackoverflow.com/questions/2797720/sorting-tree-with-a-materialized-path

e un libro:
http://www.computermanuals.co.uk/scripts/browse.asp?ref=669251

>Grazie!!!
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5