Consulta SQL com parametros
Olá pessoal, blz ?
Estou com o seguinte problema, tenho uma query de consulta a uma tabela, só que a consulta sql acaba se perdendo na instrução. No interbase a consulta funciona, mas no delphi não, um campo se perde. Olhem a consulta:
with dm.QPesFund do
begin
Close;
sql.Clear;
sql.Add(´Select DtFun, Pan, NrFun, NvVdr, QtdPecas, QtdLiq, Perc,´);
sql.Add(´(Select AVG(Perc) from tbFundicao´);
sql.Add(´where (DtFun = :pDtFinal))AS MEDIA,´);
sql.Add(´(SELECT SUM(QtdLiq) from tbFundicao´);
sql.Add(´where (DtFun = :pDtFinal))as SOMLIQ,´) ;
sql.Add(´(SELECT SUM(QtdPecas) from tbFundicao´);
sql.Add(´where (DtFun = :pDtFinal))as SOMPECAS,´);
sql.Add(´(SELECT SUM(QtdPecas) from tbFundicao´);
sql.Add(´where (DtFun >= :pDtini and DtFun <= :pDtFinal))AS TOT_PECAS,´);
sql.Add(´(SELECT SUM(QtdLiq) from tbFundicao´);
sql.Add(´where (DtFun >= :pDtini and DtFun <= :pDtFinal))AS TOT_LIQ´);
sql.Add(´From tbFundicao´);
sql.Add(´where (DtFun >= :pDtini and DtFun <= :pDtFinal)´);
sql.Add(´group by DtFun, Pan, NrFun, NvVdr, QtdPecas, QtdLiq, Perc´);
sql.Add(´having (Dtfun = :pDtFinal)´);
sql.Add(´order by Dtfun desc´);
Tem um jeito mais facil de escrever essa consulta para que o delphi entenda ou alguém achou algum erro ?
Os campos MEDIA, SOMLIQ, e SOMPECAS, é o somatórios dos campo por dia e o TOT_PECAS e TOT_LIQ é o acumulado de um intervalo de datas.
O campo que ele se perde é o SOMLIQ, eu não sei porque, já que no interbase se rodar esta instrução funciona.
Aguardo a ajuda de vcs.
Att
Gilcimar
Estou com o seguinte problema, tenho uma query de consulta a uma tabela, só que a consulta sql acaba se perdendo na instrução. No interbase a consulta funciona, mas no delphi não, um campo se perde. Olhem a consulta:
with dm.QPesFund do
begin
Close;
sql.Clear;
sql.Add(´Select DtFun, Pan, NrFun, NvVdr, QtdPecas, QtdLiq, Perc,´);
sql.Add(´(Select AVG(Perc) from tbFundicao´);
sql.Add(´where (DtFun = :pDtFinal))AS MEDIA,´);
sql.Add(´(SELECT SUM(QtdLiq) from tbFundicao´);
sql.Add(´where (DtFun = :pDtFinal))as SOMLIQ,´) ;
sql.Add(´(SELECT SUM(QtdPecas) from tbFundicao´);
sql.Add(´where (DtFun = :pDtFinal))as SOMPECAS,´);
sql.Add(´(SELECT SUM(QtdPecas) from tbFundicao´);
sql.Add(´where (DtFun >= :pDtini and DtFun <= :pDtFinal))AS TOT_PECAS,´);
sql.Add(´(SELECT SUM(QtdLiq) from tbFundicao´);
sql.Add(´where (DtFun >= :pDtini and DtFun <= :pDtFinal))AS TOT_LIQ´);
sql.Add(´From tbFundicao´);
sql.Add(´where (DtFun >= :pDtini and DtFun <= :pDtFinal)´);
sql.Add(´group by DtFun, Pan, NrFun, NvVdr, QtdPecas, QtdLiq, Perc´);
sql.Add(´having (Dtfun = :pDtFinal)´);
sql.Add(´order by Dtfun desc´);
Tem um jeito mais facil de escrever essa consulta para que o delphi entenda ou alguém achou algum erro ?
Os campos MEDIA, SOMLIQ, e SOMPECAS, é o somatórios dos campo por dia e o TOT_PECAS e TOT_LIQ é o acumulado de um intervalo de datas.
O campo que ele se perde é o SOMLIQ, eu não sei porque, já que no interbase se rodar esta instrução funciona.
Aguardo a ajuda de vcs.
Att
Gilcimar
Gier
Curtidas 0
Respostas
Catunda
10/04/2007
qdo vc diz ´o campo se perde´ quer dizer que fica igual a zero, nulo ou simplismente não aparece?
observe se vc está realmente apontando para o banco de dados correto.
observe se vc está realmente apontando para o banco de dados correto.
GOSTEI 0