Fórum Codigo SQL duplicando registros #159421
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
Curtir tópico
+ 0Posts
11/05/2003
Tomcorreia
Gostei + 0
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:
Gostei + 0
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;
Gostei + 0
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
Gostei + 0
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
Gostei + 0
17/05/2003
Marbravo
Tá dificil!!!
valeu
marbravo@cdlvirtual.com.br
Gostei + 0
18/05/2003
Marbravo
Será que ninguem sabe qual é o problema?
Gostei + 0
18/05/2003
Adilsond
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)