Consulta em 2 tabelas ao mesmo tempo

Delphi

22/10/2008

Olá,

Como faço uma consulta em 2 tabelas ao mesmo tempo? Por exemplo, como faço a consulta para buscar na tabela AGENDA qdo o campo EVENTO for igual a CARTAO e na tabela CONTATOS o campo NOME for igual a JOSE? Como faço essa consulta ao mesmo tempo nas 2 tabelas? Obrigado.

Luiz


L_carlos

L_carlos

Curtidas 0

Respostas

Marcosrocha

Marcosrocha

22/10/2008

Resultados das duas tabelas na mesma linha é impossível. Você pode buscar utilizando UNION.
Select campo1, campo2 from Tabela1
[b:8f236e7e94]Union[/b:8f236e7e94]
Select campo1, campo2 from Tabela2

Note que a quantidade de campos de ambos os selects são as mesmas e, INCLUSIVE, o tipo de dado das colunas têm de ser os mesmos.


GOSTEI 0
Jc

Jc

22/10/2008

Acho que isso funciona também:
SELECT campo1.tabela1, campo2.tabela2 FROM tabela1, tabela2;


Teste e diga se funcionou, pra gente.

Obrigado.


GOSTEI 0
Marcosrocha

Marcosrocha

22/10/2008

JC este select que você colocou ´buga´ pois pra cada registro da Tabela1, é listado todos os registros da Tabela2 ou seja:
TABELA1 TABELA2
1      1
1      2
1      3
2      1
2      2
2      3
...



GOSTEI 0
Jc

Jc

22/10/2008

JC este select que você colocou ´buga´ pois pra cada registro da Tabela1, é listado todos os registros da Tabela2 ou seja:
TABELA1 TABELA2
1      1
1      2
1      3
2      1
2      2
2      3
...

Talvez tivesse que colocar assim, veja um exemplo (não testei):
- Eu quero o campo1 da tabela1 mas apenas quando for igual a ´JC´.
- Quero também (ao mesmo tempo) o campo10 da tabela2 mas só quando for igual a ´500´.

SELECT campo1.tabela1, campo10.tabela2 FROM tabela1, tabela2 WHERE (campo1.tabela1 = ´JC´) AND (campo10.tabela2 = 500);

Depois me fale se funcionou.


GOSTEI 0
L_carlos

L_carlos

22/10/2008

Vlw Pessoal.

Eu consegui para o que eu precisava usando a consulta abaixo:

SELECT * FROM AGENDA, CONTATOS WHERE (EVENTO = (´ + quotedstr(ansiuppercase(´JOSE SILVANO´))+´)) AND (NOME = (´ + quotedstr(ansiuppercase(´JOSE SILVANO´))+´))´;

Luiz


GOSTEI 0
POSTAR