Multiplus Selects ou Joins na mesma tabela
Olá a todos... gostaria de saber se alguém pode me ajudar com o seguinte problema.
Tenho uma Tabela de Preços, de um software já pronto que um cliente utiliza, e dentro dessa tabela, existe o cadastro dos códigos de produtos, o código da tabela, e o preço desse produto. No caso o cliente utiliza 08 tabelas (não sei pra que tudo isso).
Ordem_Prod_Serv Ordem_Tabela_Preco Preco
50 4 0
50 6 6,75
50 7 405
50 8 1188,1
50 9 256,5
50 10 631,1684
50 11 0
50 12 0
51 4 0
51 6 5,1
51 7 306
51 8 897,7
51 9 193,8
51 10 476,8828
51 11 0
51 12 0
52 4 0
52 6 2,58
52 7 154,8
52 8 454,1
52 9 98,04
52 10 241,2466
52 11 0
52 12 0
Como podem ver pela tabela acima, um exemplo de parte dos 30.000 itens cadastrados. Seria mais fácil se todos os produtos estivessem cadastrados em todas as tabelas, mesmo que com o preço zerado. Por exemplo na tabela 4 ele tem o preço de 8,00 e nas demais tabelas fosse 0,00... Que bastaria fazer um select com um where e dizer qual a tabela, e viriam os mesmos dados na mesma ordem.
Porém não sei como foi a idéia de ser criada essa tabela, que se eu fizer um select com where pela tabela, tem tabela que me traz 30 mil itens, tem tabela que me traz 18 mil.. cada uma me traz uma quantidade diferente.
O que eu gostaria de saber é se alguém pode me ajudar com algum tipo de select, onde ele percorra a tabela, e selecione todos os codigos 1, e preencha um campo chamado tab1 com o preço, e se ouver preço nas outras tabelas, os outros campos sejam preenchidos também, e se não tiver, fique com o valor 0. Para que dessa forma, se eu tiver 20 produtos... eu vou ter 20 linhas na tabela, e cada linha vai ter digamos 08 campos de tabelas e cada uma com os preços... como um exemplo abaixo:
Codigo Tab4_Preco Tab5_Preco Tab6_Preco Tab7_Preco Tab8_Preco
50 120 0 0 154,8 0
51 0 256,5 0 0 0
52 405 0 0 480 454,1
53 0 306 0 0 360
Não sei se fui claro... mas qualquer dúvida posso tentar esclarecer melhor...
Obrigado...
Discussão (6)
Carregando comentários...