>Quello che devo fare è raggruppare per MESE/ANNO la colonna RICEVUTA
>e SOMMARE ovviamente il valore.
>Quindi deve venire:
>
>01/09 300
>02/09 600
>03/09 500
>
>Mi aiutete perfavore?
Ciao Francesca,
per ottenere quel risultato potresti convertire Ricevuta in una stringa nel formato dd/mm/yy, ignorare i primi 3 caratteri e raggruppare il tutto come nel seguente esempio:
USE tempdb;
CREATE TABLE dbo.foo(
Ricevuta datetime NOT NULL,
Valore money NOT NULL
);
INSERT dbo.foo VALUES
('20090102', 100)
, ('20090102', 200)
, ('20090202', 200)
, ('20090202', 400)
, ('20090302', 200)
, ('20090302', 300);
WITH CTE_GetData (Ricevuta, Valore) AS
(
SELECT
SUBSTRING(CONVERT(char(8), Ricevuta, 3), 4, 5)
, Valore
FROM dbo.foo
)
SELECT Ricevuta, SUM(Valore) AS Totale
FROM CTE_GetData
GROUP BY Ricevuta;
/* Output:
Ricevuta Totale
-------- ---------------------
01/09 300,00
02/09 600,00
03/09 500,00
(3 row(s) affected)
*/
DROP TABLE dbo.foo;
>Baci!
WOW!
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org