Consulta em outra consulta

Delphi

05/01/2015

Olá pessoal, estou precisando de uma ajudona de vocês. A princípio, é possível fazer uma consulta de uma query que já realizou uma consulta?.

Tipo tenho um query que ao clicar em um botão, ela me retorna uns resultados, o que preciso saber é se é possível aplicar uma nova consulta aos resultados obtidos.
Alexsandro

Alexsandro

Curtidas 0

Melhor post

Ricardo

Ricardo

05/01/2015

Boa tarde.

Então, se você passou todos os parâmetros da query no momento da consulta tem sim, já que o conteúdo dessa query foi modificado.

Exemplo: Digamos que na própria query você adiciona na propriedade SQL um select * from clientes, se você apenas abrir essa query na sua aplicação ela vai retornar todos os campos da tabela clientes, concorda?

Agora se no momento da abertura da query você alterar a propriedade para um select nome from clientes, apenas os nomes vão ser retornados. Se você fechar essa query e abri-la novamente ela não vai mais executar o select *, mas sim o select nome. A o valor da propriedade setado direto na query só vai passar a ser utilizado novamente quando o sistema encerrar e abrir outra vez.

Então, se você alterar o SQL da query para a sua consulta, ele vai permanecer assim até que o sistema encerre, então você pode fazer outra consulta em cima do resultado na consulta anterior, ou no mesmo momento ou em outro.

Espero que tenha conseguido explicar de forma clara. Qualquer coisa entre em contato.
GOSTEI 1

Mais Respostas

Alexsandro

Alexsandro

05/01/2015

Ricardo muito obrigado pela atenção.

pelo que entendi, na query tenho esses parâmetros : select * from AULA where IDTURMA = :id and DISCIPLINA like :disciplina and
EXTRACT (MONTH FROM ENDTIME) = :mes, dai posso em determinado momento, via código adicionar uma instrução sql para consultar registros do resultado original da query?
seria isso?
GOSTEI 0
Renato Rubinho

Renato Rubinho

05/01/2015

Alexsandro,

Após trazer o resultado da query, você não interage mais com o banco neste resultado. Fazendo um novo filtro, será feita uma nova consulta no banco de dados.
O que pode fazer para filtrar os resultados da query inicial é utilizar a propriedade Filter.

Exemplo:

1. Seu select resulta:
IDTURMA DISCIPLINA
1 A
2 B
3 C
4 D
5 E

2. Faz o filtro na Query:
Query.Filtered := False;
Query.Filter    := ID_TURMA > 3;
Query.Filtered := True;


1. Sua query listará
IDTURMA DISCIPLINA
4 D
5 E

Abraççç,
rrubinho
GOSTEI 1
Alexsandro

Alexsandro

05/01/2015

O rrubinho é isso mesmo que quero... ficou perfeito...
muito obrigado...
GOSTEI 0
POSTAR