Fórum QuiKRep - Delphi 6 #171980
28/07/2003
0
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
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)