»»» Consulta dentro de uma Query ???

Delphi

31/01/2003

Gostaria de saber se há uma maneira de fazer uma consulta dentro de um resultado de uma query.

Exemplo:

query1 <- Select * from Produtos;

ListBox1 <- Select Valor from QUERY1 where blablabla

:arrow: a sintaxe a cima não existe, claro, mas só para poder expor o meu objetivo. Acredito que tenham entendido.

Agradeço qualquer ajuda. :)

Alex


Anonymous

Anonymous

Curtidas 0

Respostas

Dog_hunter

Dog_hunter

31/01/2003

Não existe.
O servidor IB, Oracle, MySQL, etc... só roda uma query. Isto não é uma limitação e sim um fato de lógica.
Na minha opinião, você deveria melhorar a sua query, e não criar outra. Se você não conseguir montar a query, é sinal que a estrutura do bd não foi bem feita.
Exemplo:
Tabela1: Cod_aluno, nome, sexo
Tabela2: Cod_serie, cod_aluno

vc quer saber quantos alunos do sexo masculino estão na serie tal:

select * from Tabela1, Tabela2 where Tabela2.Cod_serie=2 and Tabela1.Cod_aluno=Tabela2.Cod_aluno and Tabela1.sexo=´M´;

E para mandar o resultado da query para uma listbox:

begin
qry.Close;
qry.sql.clear;
qry.sql.add(Select Valor from QUERY1 where blablabla ´);
qry.open;
qry.first;
while not qry.eof do
begin
minha_list_box.items.add(qry.fields[0].asstring);
qry.next;
end;
qry.Close;
end;

Você pode ´jogar´ o valor de uma instrução SELECT para uma variável, mas isto seria no servidor. O MySQL permite que você crie tabelas temporárias oriundas de um SELECT, mas acho que não é o seu caso.

Seria esta a sua dúvida?

Abraços,

Rodrigo


GOSTEI 0
Anonymous

Anonymous

31/01/2003

Meu caro, você não pode executar uma query que rode em cima do resultado de outra, porém, você pode fazer uma query com dois SELECT, um dentro do outro.
Infelizmente não me lembro a sintaxe.
Existe ainda o GROUP BY e o INNER JOIN, experimente.

Boa Sorte,
Renaldo.


GOSTEI 0
Hertz

Hertz

31/01/2003

hi,

Tudo é possivel de forma relativa!

No access é possível.

Existe um componente que pode fazer o que vc quer, mas em access, o KaDao.

Vc faz as query´s no access e utiliza no delphi, pode parametrizar ambas de forma sicrona ou assincrona, com uma ou duas TQuery´s no Delphi.

Em outro caso pode ser utilizado as view´s, depende do DB...

Sérgio


GOSTEI 0
POSTAR