thalesoli 0 Denunciar post Postado Setembro 13, 2005 Boa tarde galera Eu tenho uma aplicacao na qual toma conta de uma revenda de joias no estilo consignação.. quando a vendedora vem e retira uma peça, a mesma é registrar, e quando ela vende ou devolver é feito o registro dos mesmo. Tenho q monta um SQL no qual junte as informações, produtos retirados, devolvidos e vendidos, para dar que no relatório só seja impresso os itens q na expressão seja maior q 0(zero) ProdutoRetirado - ProdutoDevolvido - ProdutoVendido > 0. O problema é que sempre retorna vazio no SQL q eu montei. Ele consiste em 3 sql, 2 externos e um principal. Abaixo segue os 3 SQL PrincipalSelect R.Codigo, R.Data, R.Vendedor, V.Nome, V.Telefone, Ri.Codigo CodigoItem, Ri.Produto, P.Descricao, Ri.Quantidade, Ri.Preco, S.Descricao SetorFrom Retirada R left outer join Vendedor V on (R.Vendedor = V.Codigo) left join RetiradaItem Ri on (Ri.Retirada = R.Codigo) left outer join Produto P on (Ri.Produto = P.Codigo) left outer join Setor S on (P.Setor = S.Codigo) left outer join 'DevolucaoItem.sql' D on (Ri.Codigo = D.RetiradaItem) left outer join 'VendaItem.sql' Vi on (Ri.Codigo = Vi.RetiradaItem)where (Ri.Quantidade - D.Qtde - Vi.Qtde > 0)Order By V.Nome, R.Data, P.Descricao, S.Descricao SQL DevolucaoItem.sqlSelect D.Devolucao, Ri.Produto Barra, D.RetiradaItem, Ri.Retirada, Sum(D.Quantidade) QtdeFrom DevolucaoItem D left outer join RetiradaItem Ri on (D.RetiradaItem = Ri.Codigo)Group By D.Devolucao, Ri.Produto, D.RetiradaItem, Ri.Retirada SQL VendaItem.sqlSelect V.Venda, Ri.Produto Barra, V.RetiradaItem, Ri.Retirada, V.Preco, V.DescontoEmpresa, V.DescontoAVista, V.Comissao, Sum(V.Quantidade) QtdeFrom VendaItem V left outer join RetiradaItem Ri on (V.RetiradaItem = Ri.Codigo)Group By V.Venda, Ri.Produto, V.RetiradaItem, Ri.Retirada, V.Preco, V.DescontoEmpresa, V.DescontoAVista, V.Comissao No teste q estou desenvolvendo .. existe 3 itens retirados q foram devolvidos ou vendidos por inteiro e 1 q nao. mas retorna somente vazio... Alguem sabe me ajudar nessa? desde já agradeço Valeu :unsure: Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Setembro 14, 2005 Bom dia pessoalfazendo uma análise descobri que sai vazio pela razão de que em alguns casos o resultado da quantidade da devolucao (D.Qtde) ou quantidade vendida (Vi.qtde) podem ser nulas, e quando é nula da erro !!!esqueci de dizer q estou usando paradox neste sistema.. se fosse em FB eu usava o NUlliff :( fazer o qalguem tem alguma sugestão? :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Setembro 14, 2005 Cheguei a uma conclusão coloque duas condições para checar se é null e se for, passa o resultado: where (D.Qtde is null) or (Vi.Qtde is null) or (Ri.Quantidade - D.Qtde - Vi.Qtde > 0) Grato por quem tentou me ajudar falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Setembro 14, 2005 Na realidade a resposta acima da erro a certa é essa where ((D.Qtde is null) and (Ri.Quantidade - Vi.Qtde > 0)) or ((Vi.Qtde is null) and (Ri.Quantidade - D.Qtde > 0)) or (Ri.Quantidade - D.Qtde - Vi.Qtde > 0) falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites