Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Relazione Molti a Molti: come gestirla con Sql
giovedì 18 novembre 2010 - 12.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008
sysilvia
Profilo
| Newbie
2
messaggi | Data Invio:
gio 18 nov 2010 - 12:42
Ciao,
sto usando sql da poco e mi sono arenata sulla gestione di una relazione molti a molti. Mi spiego meglio: sto creando un database con le tabelle: Libro, Autore, LibroAUtore, Editore. La tabella LibroAutore l'ho creata avendo una relazione molti a molti tra un determinato libro e un determinato autore. Ora, però, viene il mio dubbio:
Se volessi visualizzare il titolo di un libro e nella colonna accanto tutti gli autori in riga, posso farlo?
Probabilmente ci sono molte fonti su internet, ma la mia ricerca non è molto mirata perchè mi manca un po' di chiarezza su cosa cercare.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 18 nov 2010 - 12:50
>Ciao,
Ciao
>sto usando sql da poco e mi sono arenata sulla gestione di una
>relazione molti a molti. Mi spiego meglio: sto creando un database
>con le tabelle: Libro, Autore, LibroAUtore, Editore. La tabella
>LibroAutore l'ho creata avendo una relazione molti a molti tra
>un determinato libro e un determinato autore. Ora, però, viene
>il mio dubbio:
>Se volessi visualizzare il titolo di un libro e nella colonna
>accanto tutti gli autori in riga, posso farlo?
>Probabilmente ci sono molte fonti su internet, ma la mia ricerca
>non è molto mirata perchè mi manca un po' di chiarezza su cosa
>cercare.
Quello che vuoi fare è una denormalizzazione dei dati in colonna su di una riga.
Dovrai fare la trasposta, e per questo puoi usare l'operatore PIVOT
http://msdn.microsoft.com/it-it/library/ms177410.aspx
o crearlo con l'utilizzo di CASE:
http://stackoverflow.com/questions/947281/multiple-column-pivot-in-t-sql
--
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
sysilvia
Profilo
| Newbie
2
messaggi | Data Invio:
gio 18 nov 2010 - 16:22
Grazie per la risposta. In realtà io volevo mettere un'intera colonna in una sola cella di una riga che è in contrasto con la loica di creazione della tabella che io stessa ho creato. Mi scuso per averti fatto perdere tempo e....mi auguro di imparare in fretta
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
gio 18 nov 2010 - 16:35
>Grazie per la risposta. In realtà io volevo mettere un'intera
>colonna in una sola cella di una riga che è in contrasto con
>la loica di creazione della tabella che io stessa ho creato.
>Mi scuso per averti fatto perdere tempo e....mi auguro di imparare
>in fretta
Ti scusi? Credimi, è una richiesta frequente..
Però di solito, se non ti serve direttamente da sql server, potresti tornare i dati in maniera normalizzata e poi, l'applicativo che visualizza potrebbe prendersi l'onere di creare l'output desiderato.
Ad esempio con LINQ
--
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
Torna su
Stanze Forum
Elenco Threads
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 !