Torna al Thread

USE tempdb; CREATE TABLE dbo.movimenti_agenzie ( id_movimenti_agenzie numeric(18, 0) NOT NULL , id_agenzia numeric(18, 0) NOT NULL , tipo numeric(18, 0) NOT NULL , descrizione varchar (50) , importo money NOT NULL , saldo money NOT NULL , data_operazione datetime NOT NULL , data_inserimento datetime NOT NULL , saldo_dollari money NULL , importo_dollari money NULL ); INSERT dbo.movimenti_agenzie VALUES(243706, 41, 0, '1', 41.24, -11215.31, '20070521', '20070521 15:08:23', 0, 0); INSERT dbo.movimenti_agenzie VALUES(243707, 51, 0, '1', 200.54, -3301.75, '20060102 13:43:03', '20070521 15:08:27', 12, 0); INSERT dbo.movimenti_agenzie VALUES(243708, 51, 0, '1', 461.64, -3763.39, '20060102 16:18:01', '20070521 15:08:27', 12, 0); INSERT dbo.movimenti_agenzie VALUES(243709, 51, 0, '1', 223.8, -3986.77, '20060102 16:43:55', '20070521 15:08:27', 12, 0); /* quello che vorrei ottenere è l'ultimo saldo in ordine di data per ogni singola agenzia */ SELECT MA.id_agenzia, MA.saldo FROM dbo.movimenti_agenzie AS MA JOIN ( SELECT id_agenzia, MAX(data_operazione) AS UltimaOperazione FROM dbo.movimenti_agenzie GROUP BY id_agenzia ) AS Q ON MA.id_agenzia = Q.id_agenzia AND MA.data_operazione = Q.UltimaOperazione; /* Output: id_agenzia saldo --------------------------------------- --------------------- 51 -3986,77 41 -11215,31 (2 row(s) affected) */ DROP TABLE dbo.movimenti_agenzie;
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5