andrevale 0 Denunciar post Postado Dezembro 30, 2008 Olá pessoal, estou com uma dúvida que não acredito que seja difícil de tirar. Porém, não estou conseguindo resolver :P eu tenho uma tabela de movimento de estoque de produtos, na qual cada entrada de produto gera uma nota fiscal. Pra retirar o produto, a promeira nota que entrou deve ser zerada antes de debitar da nota seguinte (FIFO/PEPS). Ou seja, se um produto entrar pra um cliente e horas depois um mesmo produto entrar pro mesmo cliente, este produto será referenciado por 2 notas diferentes. Fiz uma rotina pra me retornar essa nota de menor id, abaixo: SELECT MIN(mov.movnota) as nota,mov.movvol as vol,mov.movprod as prod FROM mov, nota, estoque WHERE estoque.estprod = mov.movprod AND nota.notaid = mov.movnota AND nota.notacli = mov.movcli AND mov.prod = 5 AND nota.notaeos = 1 -- nota de entrada AND nota.notacli = 1 AND mov.movvol <> 0 GROUP BY nota.notadia, nota.notaHora Porém, o problema está quando um mesmo produto entra, no mesmo dia, pra um mesmo cliente e com uma quantidade igual. Ele retira o de menor id e depois retira dessa nota, pois as características são as mesmas. Com exceção do horário. Eu não estou conseguindo as distinguir pelo horário. Será que alguém pode me ajudar? Grato. Compartilhar este post Link para o post Compartilhar em outros sites
eibon 2 Denunciar post Postado Dezembro 30, 2008 Não entendi...pode explicar novamente? E é mais interessante você usar joins...terá ganho em desempenho. Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Dezembro 30, 2008 Poste um exemplo e a resposta q você quer e no caso acima, nao haverá ganho de desempenho com JOIN, ao contrario Compartilhar este post Link para o post Compartilhar em outros sites