Bom dia Pessoal.
Alguém saberia dizer se, no SQL Server, existe algum recurso exceto PIVOT TABLE, que eu consiga mostrar o resultado dos 3 últimos preços de compra, que estão sendo apresentados em 3 linhas e apresentá-los em uma única linha em 3 colunas ?
Segue a sentença SQL abaixo. Como as 3 linhas possuem os mesmos dados, o que difere é somente o preço unitário das compras. Gostaria de colunar estes preços em 3 colunas, o que resultaria em uma única linha.
SELECT TOP 3
ROW_NUMBER() OVER(ORDER BY TMOV.IDMOV) as LINHA,
TPRODUTO.CODIGOPRD AS CÓDIGO,
TPRODUTO.DESCRICAO AS PRODUTO,
TTB1.DESCRICAO AS CLASSIFICAÇÃO,
TITMMOV.CODUND AS UND,
TMOV.DATASAIDA AS MOVIMENTADO,
FCFO.CODETD AS UF,
TITMMOV.PRECOUNITARIO
FROM TMOV (nolock) INNER JOIN FCFO (nolock)
ON TMOV.CODCOLIGADA = FCFO.CODCOLIGADA AND
TMOV.CODCFO = FCFO.CODCFO
INNER JOIN TITMMOV (nolock)
ON TMOV.CODCOLIGADA = TITMMOV.CODCOLIGADA AND
TMOV.IDMOV = TITMMOV.IDMOV
INNER JOIN TPRODUTO (nolock)
ON TPRODUTO.CODCOLPRD = TITMMOV.CODCOLIGADA AND
TPRODUTO.IDPRD = TITMMOV.IDPRD
INNER JOIN TPRODUTODEF (NOLOCK)
ON TPRODUTO.CODCOLPRD = TPRODUTODEF.CODCOLIGADA AND
TPRODUTO.IDPRD = TPRODUTODEF.IDPRD
INNER JOIN TTB1 (NOLOCK)
ON TPRODUTODEF.CODCOLIGADA = TTB1.CODCOLIGADA AND
TPRODUTODEF.CODTB1FAT = TTB1.CODTB1FAT
WHERE
TMOV.CODCOLIGADA = 1 AND
TMOV.STATUS <> 'C' AND
TMOV.CODTMV like '1.2%' AND
TPRODUTO.CODIGOPRD = '05.002.01127'
GROUP BY
TPRODUTO.CODIGOPRD,
TPRODUTO.DESCRICAO,
TTB1.DESCRICAO,
TITMMOV.CODUND,
TMOV.IDMOV,
TMOV.DATASAIDA,
FCFO.CODETD,
TITMMOV.PRECOUNITARIO
order by tmov.DATASAIDA desc