brunus 0 Denunciar post Postado Janeiro 16, 2007 oi passoal! tou fazendo um trabalho pra escola, uma sapataria. tou usando oracle e tou tou tentando fazer uma relação de produtos que entram e saem, pra obter os produtos disponiveis.assi estou utilizando uma tabela "linhaencomenda" que guarda quantidades entrada(quantidadeE) e outra tabela "linhasaida" que faz o mesmo mas qdo sai (quantidadeS)....este é o query que estou implementando:SELECT codcalcado,nomemarca,nomemodelo,quantidadeEFROM marca,modelo,calcado,tamanho,tipo,linhaencomenda,encomendaWHERE codencomendale=codencomenda AND codcalcadole=codcalcado AND codmarca=codmarcamod AND codmodelocal=codmodelo AND codtamanho=codtamanhocal AND codtipocal=codtipoMINUSSELECT codcalcado,nomemarca,nomemodelo,quantidadeSFROM marca,modelo,calcado,tamanho,tipo,linhasaida, saidaWHERE (codCalcado=codcalcadols) AND (codsaidals=codsaida) AND (codtipocal=codtipo) AND (codmarcamod=codmarca) AND (codmodelocal=codmodelo) AND (codtamanhocal=codtamanho)o problema á: que não mostra k não tem valor no campo "quantidadeS", ou seja dos produtos k ainda nao sairam.....se me puderem dar alguma dica agradecia! Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Janeiro 16, 2007 Opa Brunus, Voce pode tentar algo parecido como esta abaixo que creio que vai dar certo, so esta faltando você fazer a ligacao das tabelas de saida e linha de saida e testa. SELECT codcalcado,nomemarca,nomemodelo, Sum(quantidadeE)-Sum(quantidadeS) AS quantidadeEstoque FROM marca,modelo,calcado,tamanho,tipo,linhaencomenda,encomenda,linhasaida ls, saida s WHERE codencomendale=codencomenda AND codcalcadole=codcalcado AND codmarca=codmarcamod AND codmodelocal=codmodelo AND codtamanho=codtamanhocal AND codtipocal=codtipo AND GROUP BY codcalcado,nomemarca,nomemodelo; OU tenta uma parecida com sua tb SELECT codcalcado,nomemarca,nomemodelo,Sum(quantidadeE)-Sum(quantidadeS) AS quantidadeEstoque FROM ( SELECT codcalcado,nomemarca,nomemodelo,quantidadeE FROM marca,modelo,calcado,tamanho,tipo,linhaencomenda,encomenda WHERE codencomendale=codencomenda AND codcalcadole=codcalcado AND codmarca=codmarcamod AND codmodelocal=codmodelo AND codtamanho=codtamanhocal AND codtipocal=codtipo UNION ALL SELECT codcalcado,nomemarca,nomemodelo,quantidadeS FROM marca,modelo,calcado,tamanho,tipo,linhasaida, saida WHERE (codCalcado=codcalcadols) AND (codsaidals=codsaida) AND (codtipocal=codtipo) AND (codmarcamod=codmarca) AND (codmodelocal=codmodelo) AND (codtamanhocal=codtamanho)) GROUP BY codcalcado,nomemarca,nomemodelo; Qualquer duvida mandai!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
brunus 0 Denunciar post Postado Janeiro 16, 2007 brigadão montilla, tá a funcionar! agora ele na me mostra todo o calçado apenas aquele k foi feita o cálculo pró stock!já tive a fazer experiencias mas na tá fácil! principiante....heheh tem alguma coisa a haver com o HAVING? Compartilhar este post Link para o post Compartilhar em outros sites
MonTiLLa 1 Denunciar post Postado Janeiro 17, 2007 Opa Cara!! Seguinte, como você esta aprendendo da uma olhadinha nas nas operações INNER JOIN, LEFT JOIN, RIGHT JOIN para conseguir trazer todos os produtos, mesmo se eles nao tiverem saida no estoque. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites