Problema en el pivote dinámico + servidor SQL 2005

Tengo un problema. En realidad, en nuestra aplicación, antes se le permitía al cliente pagar 3 gastos de instalación por mes, pero ahora puede ser cualquier número. Así que tengo la consulta anterior

declare @tbl table([MonthName] varchar(50), [Installment] int)

insert into @tbl select 'Jan',100 union all

select 'Jan',200 union all select 'Jan',300 union all

select 'Feb',100 union all

select 'Feb',200 union all select 'Feb',300



select [MonthName]

        ,[100] as '1st installment'

        ,[200] as '2nd installment'

        ,[300] as '3rd installment'

from

(select [MonthName],[Installment] from @tbl)as x

pivot

(max([Installment]) for [Installment] in

([100],[200],[300]))as pvt

La salida es esta

MonthName   1st installment 2nd installment 3rd installment

Feb             100              200            300

Jan             100              200            300

Pero como digo, las cuotas pueden variar ahora (digamos que en 1 mes pueden ser 4, mientras que en el próximo mes pueden ser 5 o 3 o 6), entonces, ¿cómo puedo hacer una rotación dinámica de columnas en este caso?

Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta