Non sono sicuro del tuo tipo di dati. Ma vedere i seguenti esempi di valori restituiti. In MSSQL 2012 la tua situazione sembra corrispondere al tipo di dati REAL. Mentre SOLDI, FLOAT, DECIMALI, DOPPIA PRECISIONE ritorno 72200.00 REALE restituisce 72199.9998321533. Vedi sotto:
CREATE TABLE #tempso (Amount money, GRPS int);
INSERT INTO #tempso(Amount, GRPS) VALUES
('65025.00',355),
('-2500.00',355),
('7014.40',355),
('725.62',355),
('241.67',355),
('1209.57',355),
('241.87',355),
('241.87',355)
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
ALTER TABLE #tempso ALTER COLUMN Amount float
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
ALTER TABLE #tempso ALTER COLUMN Amount decimal(10,2)
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
ALTER TABLE #tempso ALTER COLUMN Amount DOUBLE PRECISION
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
---------------
RETURNS:|355 72200.00 |
---------------
ALTER TABLE #tempso ALTER COLUMN Amount REAL
SELECT GRPS,SUM(Amount) AS AMT FROM #tempso GROUP BY GRPS
----------------------
RETURNS:|355 72199.9998321533 |
----------------------
DROP TABLE #tempso
Potresti voler cambiare il tipo di dati della colonna (se non è un tipo desiderato, forse è stato impostato per errore dal menu a discesa di SQL Studio, ecc.) o CAST il valore come uno dei tipi di dati sopra che restituirà il desiderato 72200.00