Consulta Avançada
27/09/2010
0
Caros colegas, estou com grande problema, preciso fazer uma migração de sistemas, onde vou sair do SQL Server para o Oracle.
Problemas:
Tenho uma tabela de produtos e outra de Código de Barras, tem produtos com vários tamanhos diferentes, Tipo, P,M e G, para cada tamanho tenho um código de Barras diferente, quanto faço a consulta o mesmo produto aparece 3 vezes uma.
Exemplo:
Desc_Produto Valor Cod_Barras
Sandalia 1,00 78025
Sandalia 2,00 78026
Sandalia 3,00 78027
Solução:
Eu preciso fazer um select ou uma procedure que pegue os códigos de barras como se fosse colunas,
Exemplo do Retorno que preciso:
Desc_Produto Valor Cod_Barras Cod_Barras2 Cod_Barras3
Sandalia 1,00 78025 78026 78027
Ou seja, transforma linhas em colunas, porque o novo sistema me permite ter vários código de barras para o mesmo produto, mudo somente o tamanho do produto, assim não preciso ter 3 cadastro do mesmo produto, é tudo controlado por grade.
Se alguém tive uma solução eu agradeço.
Obrigado,
Eliézio Mesquita
Eliézio Mesquita
Posts
27/09/2010
Emerson Nascimento
27/09/2010
Eliézio Mesquita
É correto sim, pois em uma unica referencia e para cada Tamanho eu posso associar 2 ou mais códigos de barra.
Imagine comigo:
Referencia = 1020 - Camiseta Masc. Tamanhos = P/ M / G
Para cada *tamanho* eu posso cadastrar o meu código de barra interno e também associar o cod. do meu fornecedor. Ou seja, 2 códigos de barras para cada tamanho.
No momento de retornar os dados o banco esta retornando 6 linhas. Uma para cada código de barra diferente. Eu preciso de saia apenas uma linha por tamanho e se caso encontre 2 códigos para o mesmo tamanho ele retorna em colunas.
29/09/2010
Emerson Nascimento
29/09/2010
Eliézio Mesquita
obrigado,
Eliézio Mesquita
29/09/2010
Bruno Batista
tente da seguinte forma.
SELECT DISTINCT L.DESC_PRODUTO, DECODE(L.LINHA,1,L.COD_BARRA,' ') AS COD_BARRA1, DECODE(L.LINHA,2,L.COD_BARRA,' ') AS COD_BARRA2, DECODE(L.LINHA,3,L.COD_BARRA,' ') AS COD_BARRA3 FROM (SELECT ROWNUM AS LINHA, P.DESC_PRODUTO, P.COD_BARRA FROM TABELA P) L ORDER BY L.DESC_PRODUTO
Caros colegas, estou com grande problema, preciso fazer uma migração de sistemas, onde vou sair do SQL Server para o Oracle.
Problemas:
Tenho uma tabela de produtos e outra de Código de Barras, tem produtos com vários tamanhos diferentes, Tipo, P,M e G, para cada tamanho tenho um código de Barras diferente, quanto faço a consulta o mesmo produto aparece 3 vezes uma.
Exemplo:
Desc_Produto Valor Cod_Barras
Sandalia 1,00 78025
Sandalia 2,00 78026
Sandalia 3,00 78027
Solução:
Eu preciso fazer um select ou uma procedure que pegue os códigos de barras como se fosse colunas,
Exemplo do Retorno que preciso:
Desc_Produto Valor Cod_Barras Cod_Barras2 Cod_Barras3
Sandalia 1,00 78025 78026 78027
Ou seja, transforma linhas em colunas, porque o novo sistema me permite ter vários código de barras para o mesmo produto, mudo somente o tamanho do produto, assim não preciso ter 3 cadastro do mesmo produto, é tudo controlado por grade.
Se alguém tive uma solução eu agradeço.
Obrigado,
Eliézio Mesquita
29/09/2010
Eliézio Mesquita
Vou verificar e aviso, obrigado.
Eliezio Mesquita
Clique aqui para fazer login e interagir na Comunidade :)