casting a REAL as INT and comparing
17:22 09 Aug 2012

I am casting a real to an int and a float to an int and comparing the two like this:

  where
  cast(a.[SUM(PAID_AMT)] as int)!=cast(b.PAID_AMT as int) 

but i am still getting results where the two are equal. for example:

+-----------+-----------+------------+------------+----------+
|   accn    |  load_dt  |   pmtdt    | sumpaidamt | Bpaidamt |
+-----------+-----------+------------+------------+----------+
| A133312   | 6/7/2011  | 11/28/2011 | 98.39      | 98.39    |
| A445070   | 6/2/2011  | 9/22/2011  | 204.93     | 204.93   |
| A465606   | 5/19/2011 | 10/19/2011 | 560.79     | 560.79   |
| A508742   | 7/12/2011 | 10/19/2011 | 279.65     | 279.65   |
| A567730   | 5/27/2011 | 10/24/2011 | 212.76     | 212.76   |
| A617277   | 7/12/2011 | 10/12/2011 | 322.02     | 322.02   |
| A626384   | 6/16/2011 | 10/21/2011 | 415.84     | 415.84   |
| AA0000044 | 5/12/2011 | 5/23/2011  | 197.38     | 197.38   |
+-----------+-----------+------------+------------+----------+

here is the full query:

select 
  a.accn,
  a.load_dt,
  a.pmtdt,
  a.[SUM(PAID_AMT)] sumpaidamt,
  sum(b.paid_amt) Bpaidamt
  from
  [MILLENNIUM_DW_DEV].[dbo].[Millennium_Payment_Data_May2011_July2012] a
  join
  F_PAYOR_PAYMENTS_DAILY b
  on
  a.accn=b.ACCESSION_ID
  and
  a.final_rpt_dt=b.FINAL_REPORT_DATE
  and
  a.load_dt=b.LOAD_DATE
  and
  a.pmtdt=b.PAYMENT_DATE
  where
  cast(a.[SUM(PAID_AMT)] as int)!=cast(b.PAID_AMT as int) 

  group by 
    a.accn,

  a.load_dt,
  a.pmtdt,
  a.[SUM(PAID_AMT)]

what am i doing wrong? how do i return only records that are NOT equal?

sql sql-server sql-server-2008 t-sql