QuiKRep - Delphi 6

Delphi

28/07/2003

Estou dentando efetuar uma consulta entre duas tabelas. Estou usando o componente ADOQuery e banco de dados Oracle. Primeiro faço a seleção de telefones que uma determinada unidade possue.
Assim:
[color=red:5318f4e94d]QOPMTel[/color:5318f4e94d]

Select telefone
from telefone
where telefone.unidade =:unidade

Depois através da consulta anterior faço outra consulta, que pega o telefone e soma o valor de todos os consumos do mês e ano passados como parâmetro.
Detei de duas formas:

Na propriedade Strings da ADOQuery2.

Select SUM(valor)
As ValorConsumo
from consumo
where consumo.telefone =:telefone and consumo.mes = ´Janeiro´ and consumo.ano =:ano
group by consumo.telefone, consumo.mes

Na propriedade DataSource coloco a QOPMTel.
No momento da execução dá um erro com a mensagem ´não é um group by´.

Depois ultilizei fiz dessa forma:

[color=red:5318f4e94d]QTelOPMAno[/color:5318f4e94d]

QTelOPMAno.close;
QTelOPMAno.Parameters.Clear;
QTelOPMAno.SQL.Clear;
QTelOPMAno.sql.Add(´select sum(valor) As ValorConsumo from Consumo where [color=red:5318f4e94d]telefone=´´´+QOPMTel.FieldByName(´Telefone´).AsString+´´´ [/color:5318f4e94d]and mes = ´´´+LabelJan.Caption+´´´ and ano =´´´+FCRelConsOPMMes.EditAno.text+´´´ group by consumo.telefone, consumo.mes´);
QTelOPMAno.open;

Não funcionou. O problema está no campo telefone, que tem que ser igual ao Telefone da QOPMTel, mas não estou conseguido fazer isso.

Telefone=´´´+QOPMTel.FieldByName(´Telefone´).AsString+´´´ assim aponta apenas para o primeito compo da tabela.

Há uma forma para verificar se o campo telefone da QTelOPMAno é igual ao campo telefone do QOPMTel que terá no componente TQRDBText do QuikRep (QOPMTel).

Por favor quem puder me ajudar o mais rápido possível, ficarei muito crata.

Atenciosamente,

Glauciene
glaucienesilva@bol.com.br


Glauciene Silva

Glauciene Silva

Curtidas 0
POSTAR