2.193 messaggi dal 30 novembre 2001
Devo generare un file excel i cui dati vengono presi da più tabelle, di cui una principale e le altre collegate a questa la cui chiave primaria è InterventoID. Questo file deve contenere un'unica riga per ogni riga della tabella principale. Quindi il problema sorge con le tabelle con relazione 1:N.
Mi spiego, nella tabella correlata ho:
ID    InterventoID   Data      Importo   
1  2    1/1/2011  15000,00  
2  2    2/2/2011  1600,00    
3  3    2/4/2011  1850,00    
4  3    3/5/2011  1900,00  
5  3               4/5/2011  2100,00  

InterventoID è la chiave esterna e fa riferimento alla tabella principale, quello che vorrei ottenere è questo:
InterventoID Data1   Data2     Data3     Imprto1 Importo2       
2         1/1/2011  2/2/2011        15000,00    1600,00  
    3       2/4/2011   3/5/2011  3/5/2011  1850,00  1900,00    

Importo3

2100,00

Spero di essere stato abbastanza chiaro.
Come faccio ad ottenere ciò?
Modificato da chiccosimo il 23 maggio 2011 14.43 -
Modificato da chiccosimo il 23 maggio 2011 14.44 -
Modificato da chiccosimo il 23 maggio 2011 14.44 -
Modificato da chiccosimo il 23 maggio 2011 14.44 -
salve,
direttamente "non puoi", in quanto non sai direttamente a priori quante sono le rotazioni di pivoting da effettuare.. cio' comporta che non puo utilizzare i classici metodi basati su valutazioni di CASE WHEN X = 0 THEN x ELSE 0 END, soluzioni "statiche" per un utilizzo valido conoscendo il numero di "cicli" di rotazione da effettuare.. cio' comporta che ti devi basare su codice SQL dinamico.. puoi vedere ad esempio http://sqlserverpedia.com/blog/sql-server-bloggers/getting-schooled-on-dynamic-pivot%E2%80%A6-or-pivot-part-2/, che riporta tra l'altro la validissima soluzione di Itzik Ben Gan, SQL Server MVP di spessore incredibile, che ama giocare con queste problematiche da risolvere come puzzle logico matematici..
saluti

Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz - http://italy.mvps.org
http://www.hotelsole.com - http://www.hotelsolericcione.de
2.193 messaggi dal 30 novembre 2001
Grazie della risposta Andrea, immaginavo che ottenere quello che voglio con un'unica query era abbastanza complesso se non impossibile, darò un'occhiata all'articolo che mi hai suggerito e se non fa al caso mio, mi farò un programmino per ottenere quello che voglio.

Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC