SQL query per ottenere la segnalazione Matrix
-
11-09-2019 - |
Domanda
La mia struttura della tabella "FeedbackSummary" è
GivenBy varchar(50)
GivenTo varchar(50)
Points decimal(15, 2)
Dati di esempio
Alice Janet 4.50
Alice Bruce 3.50
Bruce Alice 2.87
Bruce Janet 4.75
Janet Alice 5.45
Janet Bruce 3.78
Quello che sto cercando di realizzare
GivenBy_GivenTo Alice Bruce Janet
Alice NULL 3.50 4.50
Bruce 2.87 NULL 4.75
Janet 5.45 3.78 NULL
Platform: SQL Server 2005 e 2008
Come questo può essere fatto utilizzando pivot o qualsiasi altra tecnica. Ciò può essere ottenuto utilizzando SQL Reporting Services facilmente?
Grazie in anticipo.
Soluzione
La cosa migliore è utilizzare SSRS. Mettere una matrice lì, con una colonna sulle righe e uno nelle colonne. Si può ruotare in una query (l'opzione PIVOT), ma che non consente una certa flessibilità nei rapporti.
Rob
Altri suggerimenti
SELECT t.givenby,
SUM(CASE WHEN t.givento = 'Alice' THEN t.points ELSE NULL END) 'Alice',
SUM(CASE WHEN t.givento = 'Bruce' THEN t.points ELSE NULL END) 'Bruce',
SUM(CASE WHEN t.givento = 'Janet' THEN t.points ELSE NULL END) 'Janet'
FROM TABLE t
GROUP BY t.givenby
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow