Codigo SQL duplicando registros
11/05/2003
0
Quando filtro por familia de 1 a 99(campos inteiros) de fornecedor 1 a 99(campos inteiros) o resulta será mais de um registro, então pela logica ele está repetindo o mesmo registro que tem na tabela de estoque e a quantidade de vezes que exibe na tabela de Produtos, veja o codigo:
DMMov.QGen.Close;
DMMov.QGen.Sql.Clear;
DMMov.QGen.Sql.add(´select sum (E.Quant_Total) as Result from Estoque E, Cad_Produtos P´);
DMMov.QGen.Sql.add(´where P.Referencia = E.Referencia and E.Loja =´+Edit5.text);
DMMov.QGen.Sql.add(´and P.Fornecedor >= ´+Combobox1.text+´ and P.Fornecedor <= ´+Edit2.text+´ and P.Familia >= ´+edit4.text+´ and P.Familia <=´+edit3.text);
DMMov.QGen.Open;
É complicado, mas pra quem intendi num é não.
Obrigado
Marbravo@cdlvirtual.com.br
Marbravo
Posts
11/05/2003
Tomcorreia
12/05/2003
Desander
DMMov.QGen.Close;
DMMov.QGen.Sql.Clear;
DMMov.QGen.Sql.add(´select [b:3c278c44aa]DISTINCT[/b:3c278c44aa]sum (E.Quant_Total) as Result from Estoque E, Cad_Produtos P´);
DMMov.QGen.Sql.add(´where P.Referencia = E.Referencia and E.Loja =´+Edit5.text);
DMMov.QGen.Sql.add(´and P.Fornecedor >= ´+Combobox1.text+´ and P.Fornecedor <= ´+Edit2.text+´ and P.Familia >= ´+edit4.text+´ and P.Familia <=´+edit3.text);
DMMov.QGen.Open;
espero ter ajudado :lol:
12/05/2003
Tathianam
DMMov.QGen.Close;
DMMov.QGen.Sql.Clear;
DMMov.QGen.Sql.add(´select sum (E.Quant_Total) as Result from Estoque E [b:7df2f209b3] INNER JOIN [/b:7df2f209b3] Cad_Produtos P [b:7df2f209b3] ON E.CODPRO = P.CODPRO [/b:7df2f209b3]´);
DMMov.QGen.Sql.add(´where P.Referencia = E.Referencia and E.Loja =´+Edit5.text);
DMMov.QGen.Sql.add(´and P.Fornecedor >= ´+Combobox1.text+´ and P.Fornecedor <= ´+Edit2.text+´ and P.Familia >= ´+edit4.text+´ and P.Familia <=´+edit3.text);
DMMov.QGen.Open;
13/05/2003
Marbravo
Quando coloco:
select [b:f552218d4e]DISTINCT[/b:f552218d4e] sum(E.Quant_Total) as Result from Estoque E, Cad_Produtos P where E.Referencia = P.Referencia and loja = 1(campo inteiro)
Ele retorna como antes sem nenhuma alteração. Se coloco o distinct dentro dos parenteses ele mostra errado, pois ele não compara a referencia e sim as quantidades.
quando Coloco:
select sum(E.Quant_Total) as Result from Estoque E [b:f552218d4e]INNER JOIN[/b:f552218d4e] Cad_Produtos P [b:f552218d4e]ON[/b:f552218d4e] E.Referencia = P.Referencia and loja = 1(campo inteiro)
Ele retorna como antes sem nenhuma alteração.
Espero que vcs tenham uma solução ou me expliquem melhor, apesar de eu ja ter tentado de tudo com estás dicas.
Obrigado :)
Marbravo@cdlvirtual.com.br
13/05/2003
Adilsond
select sum(E.Quant_Total) as Result
from Estoque E,
Cad_Produtos P
where E.Referencia = P.Referencia
and loja = 1
and E.Quant_Total is not null
17/05/2003
Marbravo
Tá dificil!!!
valeu
marbravo@cdlvirtual.com.br
18/05/2003
Marbravo
Será que ninguem sabe qual é o problema?
18/05/2003
Adilsond
Clique aqui para fazer login e interagir na Comunidade :)