Cari amici,
sono un ricercatore di management con un passato (arruginito) da informatico. Ho un database in sql access da cui devo estrarre alcuni dati da poter essere utilizzati da programmi di network analysis. Il punto è che non so se e come sia possibile estrarli efficacemente tramite apposite query.
Devo creare una serie di 10 tabelle (una per ogni anno dal 1997 al 2006) composte da:
- righe id_cantina (tutte le cantine presenti nei 10 anni, in tutte le cantine annuali) e sulle colonne tutti gli Id_eno (tutti gli enologi presenti nei 10 anni per tutti gli anni)
es: nell'anno 97 (nuova tabelle creata per quell'anno) la casella che avrà sulle righe idcantina (con valore n) e sulle colonne id_eno(con valore m) dovrà essere riempita con 1 se c'è una relazione fra cantina e enologo in quell'anno (le relazioni si trovano nella tabella consulenza), con 0 se entrambi sono presenti in quell'anno ma non v'è relazione, con 10 se la cantina e/o l'enologo non è presente nell'anno. ovviamete si meterà a 10 tutta la riga della cantina o dell'enologo.
tabelle del db da cui estrarre i dati:
ENOLOGO: tabella con tutti gli enologi presenti nei 10 anni composta da codice (id_eno), nome, cognome, in pratica bisogna copiare la colonna ideno e metterla sulla prima riga delle nuove tabelle (tipo da intestazione).
CANTINA: come enologo con colonne id_cantina, reg, prov, anche qui la nuova tabella avrà come come prima colonnna tutti gli id_cantina presenti nella tabella.
CONSULENZA: formata da id_eno, id_cantina, anno; è praticamente una "join" di cantina ed enologo che indica l'anno di collaborazione
Il risultato che vorrei ottenere è qualcosa di simile a questo:
X 1 2 3 4 5 6
1 1 1 0 0 10 0
2 0 0 0 1 10 0
3 10 10 10 10 10
4 1 0 0 0 10 0
5 0 0 0 0 10 1
spiegazione: nuova tabella anno 97, sappiamo che in tutti i dieci anni abbiamo avuto 6 enologi e 5 cantine; di questi nel 97, la cantina 3 non esisteva e l'enologo 5 non ha lavorato.
la cantina 1 aveva due enologi (1 e 2) e le altre solo uno.
Dovrebbe venire una cosa così. come posso fare?
Non sono certo si riesca a fare tutto in sql, magari bisogna preparere fuori la tabella vuota con solo enologi sulle colonne e cantine sulle righe, poi importarla e riempirla.
Spero qualcuno riesca ad illuminarmi!
Grazie in anticipo per l'aiuto!
Marco