»»» Consulta dentro de uma Query ???
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
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
Curtidas 0
Respostas
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
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
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.
Infelizmente não me lembro a sintaxe.
Existe ainda o GROUP BY e o INNER JOIN, experimente.
Boa Sorte,
Renaldo.
GOSTEI 0
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
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