It's hard to tell given the formatting of your result sets and lack of column headers, but my first guess would be that your GROUP BY
needs to eliminate the use of cd.Name1 and use SUM(CASE...)
in your columns.
For your column list, you can try this:
CAST(SUM(CASE cd.Name1
WHEN 'Association' THEN t.Amount - t.AppliedAmount
ELSE 0
END) AS DECIMAL(18, 2)) AS [assoc_balance],
CAST(SUM(CASE cd.Name1
WHEN 'RRFS' THEN t.Amount - t.AppliedAmount
ELSE 0
END) AS DECIMAL(18, 2)) AS [rr_balance],
CAST(SUM(CASE cd.Name1
WHEN 'RRFS' THEN 0
WHEN 'Association' THEN 0
ELSE t.Amount - t.AppliedAmount
END) AS DECIMAL(18, 2)) AS [_balance],
Also, you'll need to remove the name from the ORDER BY
as well.