Consulta Avançada
Boa tarde,
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
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
Curtidas 0
Respostas
Emerson Nascimento
27/09/2010
isso é correto? (visto que os valores são diferentes...)
GOSTEI 0
Eliézio Mesquita
27/09/2010
Ola Emerson,
É 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.
É 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.
GOSTEI 0
Emerson Nascimento
27/09/2010
creio que isso só podera ser tratado na aplicação.
GOSTEI 0
Eliézio Mesquita
27/09/2010
Verdade, mas estamos ainda migrando os dados para a nova aplicação.
obrigado,
Eliézio Mesquita
obrigado,
Eliézio Mesquita
GOSTEI 0
Bruno Batista
27/09/2010
Boa tarde,
tente da seguinte forma.
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
Boa tarde,
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
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
GOSTEI 0
Eliézio Mesquita
27/09/2010
Bruno
Vou verificar e aviso, obrigado.
Eliezio Mesquita
Vou verificar e aviso, obrigado.
Eliezio Mesquita
GOSTEI 0