Caros, boa tarde! Sou novo por aqui e espero poder ajudar com o que sei... mas hoje eu estou pedindo ajuda!   Seguinte, tenho uma query simples que me retorna duas colunas: semana e valor.   week | valor 1 | 43.4 2 | 54.65 3 | 36.9 4 | 23.4   e quero transformar isso em:   1 | 2 | 3 | 4 43.4 | 54.65 | 36.9 | 23.4   uma simples pivot. Para isso faço uma subquery e tudo certo.   select sum(case when week = 1 then valor else null end), sum(case when week = 2 then valor else null end), sum(case when week = 3 then valor else null end), sum(case when week = 4 then valor else null end), from ( --QUERY PRINCIPAL--).   O problema é que esse input de semana varia. O usuário entra com o valor 1 até 53 (semanas no ano) e de acordo com o input inserido a query puxa os valores referentes a 1ª semana do ano até a selecionada. Aí vem a dúvida. Como faço para a pivot ir se adaptando de acordo com o valor inserido?   Pensei em algo do tipo:   declare @controle as integer declare @week as integer set @controle = 0 set @week = 5 --POR EXEMPLO   select while @controle < @week begin sum(case when week = @controle + 1 then valor else null end) set @controle = @controle + 1 continue from ( -- QUERY PRINCIPAL -- ).   Já sei que isso não funciona por motivos simples, como a falta da virgula (ou a presença) após o sum...   Alguém tem alguma idéia de como eu poderia fazer isso?   Valeu galera! Abraços!!!