Hola,
la cuestión (segun entiendo) es que quieres que se muestren las columnas a relación de los meses en que se halla entregado las becas, entonces:
- o te armas un procedimiento almacenado que te agregue las columnas que quieres segun las becas entregadas.
- o fijas el numero de columnas en los meses del año para que te sea mas facil de manejar.
ok... lo del procedimiento no te puedo ayudar pq no manejo SQL Server... pero para la segunda opción creo que con unas subconsultas tendrias los resultados que esperas
basicamente la idea seria algo como...
Código SQL
[-]
SELECT
-- todos los datos que seleccionas
(select MontoRecibido from tabla_beca b2 where b2.Id = i.Id and YEAR(b2.Fecha) = YEAR(b1.Fecha) and MONTH(b2.Fecha) = 1) as Enero,
..
(select MontoRecibido from tabla_beca b2 where b2.Id = i.Id and YEAR(b2.Fecha) = YEAR(b1.Fecha) and MONTH(b2.Fecha) = 12) as Diciembre
sum(b1.MontoRecibido) as TotalRecibido
FROM tabla_inscripcion i
INNER JOIN tabla_beca b1 on i.Id = b.Id
GROUP BY
-- Los campos de agrupación
WHERE YEAR(b1.fecha) = '2010'
ya tendrias que acomodarlo a la estructura que tienes y hacero mas a tu medida...