Olá pessoal,
Estou com dificuldade em utilizar o PIVOT que transforma linhas em colunas, porem queria ver se realmente o que estou querendo fazer se resolve com o PIVOT ou algum outro método.
Tenho uma tabela de CUSTO, e estou tentando pegar os últimos 6 custos de um produto referente a um fornecedor.
tabela CUSTO
CodFornecedor | CodProduto | Valor | Data
1 16048 12,45 05/04/2016
1 16048 10,05 26/03/2016
1 16048 11,09 18/07/2016
1 16048 11,09 07/07/2016
1 16048 11,09 14/06/2016
1 16048 11,76 03/05/2016
1 16048 11,92 28/04/2016
1 16048 12,10 30/05/2016
2 26053 1250,00 06/07/2016
3 13532 329,00 21/06/2016
SELECT Data, Valor
FROM CUSTO
WHERE CodFornecedor = 1
AND CodProduto = 16048
AND ROWNUM <= 6
ORDER BY Data DESC
Dessa forma ele vai apresentar os últimos 6 custo ordenados pela Data.
Data | Valor
18/07/2016 11,09
07/07/2016 11,09
14/06/2016 11,09
30/05/2016 12,45
03/05/2016 11,76
28/04/2016 11,92
Só que agora queria fazer essa representação de linha em colunas, pois vou fazer as próximas consultas em mais de 1 produto referente a um 1 fornecedor. exemplo:
CodProduto | Coluna01 | Coluna02 | Coluna03 | Coluna04 | Coluna05 | Coluna06
16048 | 11,09 - 18/07/2016 | 11,09 - 07/07/2016 | 11,09 - 14/06/2016 | 12,45 -30/05/2016 | 11,76 - 03/05/2016 | 11,92 - 28/04/2016
*optei por usar a concatenação do valor com a data, se não teria que usar 12 colunas
Como eu poderia fazer isso usando PIVOT ou outro método?