Problema com ordenação da coluna de datas em um Pivot Dinâmico

Boa tarde a Todos!

É meu primeiro post no grupo, desde já agradeço qualquer ajuda.

Estou com um problema quando uso o pivot dinâmico em uma Stored Procedure com colunas de datas. Ele faz o pivot porém coloca as colunas de datas em uma ordem errada.

Peço ajuda para tentar identificar qual será o erro no meu código, segue o mesmo abaixo:

DECLARE @SQLStr VARCHAR(5000)
SET @SQLStr=''
SELECT @SQLStr = @SQLStr + '['+[a].[Column]+'], '
FROM
(SELECT DISTINCT convert(varchar,dta_DtMes1,102) as [Column]
FROM tblEDIS)as a
SET @SQLStr= LEFT(@SQLStr,len(@SQLStr)-1)
SET @SQLStr= 'SELECT str_CodItemTSB as [Part Number], '
+ @SQLStr
+ ' FROM (SELECT P.str_CodItemTSB, P.dta_DtMes1, SUM(P.int_QuantMes1) as QTDETOTAL '
+ ' FROM tblEDIS P '
+ ' GROUP BY P.str_CodItemTSB, P.dta_DtMes1 ' 
+ ' ) sq PIVOT (SUM(QTDETOTAL) FOR dta_DtMes1 IN ('
+ @SQLStr +')) AS pt '
EXEC(@SQLStr)

a tabela tblEDIS tem os campos str_CodItemTSB (que é um varchar(30)), o campo dta_DtMes1 (que é date) e int_QuantMes1 (que é int).

Quando executo ele apresenta as datas nas colunas porém fora da ordem. Segue imagem abaixo exemplificando.

Exibições: 127

Respostas a este tópico

Acho que vc teria que ordenar a data por ano, mes para dar o resultado que vc espera.

RSS

© 2017   Criado por Ramon Durães.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço