Como exibir os registro da tabela A que existam na tabela B?

Delphi

06/10/2004

Olá pessoal, estou precisando de uma ajudinha com uma SQL.
Tenho 2 tabelas: Substancia e Estoque...

Estoque
-Recno
-Cod_Substancia

Substancia
-RecNo
etc..

Estava precisando retornar todos os dados de todas as substancias que existe na tabela Estoque, entenderam? Tipo, pegar a tabela de estoque e retornar os daddos das substancias..

como faco isso? :roll: :roll:

Desde ja agradeco


:arrow: [color=red:631acbc751]Título alterado pelo Moderador oTTo. [/color:631acbc751]
:idea: [color=blue:631acbc751]Seja mais claro no título.[/color:631acbc751]
:idea: [color=blue:631acbc751][url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=16976]Saiba como obter resposta rápida..[/url][/color:631acbc751]
:idea: [color=blue:631acbc751]Leia sempre [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta.[/url][/color:631acbc751]
:idea: [color=blue:631acbc751]Use sempre o Link [url=http://delphiforum.icft.com.br/forum/search.php][img:631acbc751]http://delphiforum.icft.com.br/forum/templates/subSilver/images/icon_mini_search.gif[/img:631acbc751] Pesquisar[/url] no topo da Página.[/color:631acbc751]


Titanius

Titanius

Curtidas 0

Respostas

Christian_adriano

Christian_adriano

06/10/2004

Olá,

pelo o q entendi vc pode fazer assim :


Select * from Substancia S
where S.Recno in (Select * From Estoque E where E.Recno = :Valor)

ou

Select * from Substancia S
where S.Recno in (Select * From Estoque E)


Dessa forma vc vai selecionar todos os registros da tabela ´Substancia´ q estão na tabela ´Estoque´.


Espero ter ajudado.


vlw.

t++


GOSTEI 0
Christian_adriano

Christian_adriano

06/10/2004

uma correção :

Select * from Substancia S
where S.Recno in (Select [color=red:51823c4319]E.Recno[/color:51823c4319] From Estoque E)


flw.


GOSTEI 0
Titanius

Titanius

06/10/2004

Valeu... :D:D:D:D


GOSTEI 0
Paulo_amorim

Paulo_amorim

06/10/2004

Olá

Se não entendi errado, esse eh o caso de se usar um Inner Join, não?

SELECT * FROM substancia s, estoque e WHERE s.recno = e.recno


Até+


GOSTEI 0
Titanius

Titanius

06/10/2004

Inner join?!? nao sei o que eh isso :D , mas dessa forma funcionou comigo... :lol:


GOSTEI 0
Morticia

Morticia

06/10/2004

Inner join?!? nao sei o que eh isso :D , mas dessa forma funcionou comigo... :lol:



Voce pode usar o inner join em tabelas que estão relacionadas, que são mestre-detalhe, para que vc possa visualizar o relacionamento entre os registros, mas para isto na tabela detalhe deve existir um campo(chave estrangeira) que se relaciona com a tabela mestre.
Ex

Select * from tabela A inner join tabela B on a.cod_a = b.cod_a,

onde b.cod_a é a chave estrangeira que recebe o valor da chave primaria da tabela detalhe.


GOSTEI 0
Titanius

Titanius

06/10/2004

Olá,
christian_adriano ,m nao funcionou... quando eu tenho mum registro com RECNO 1, ele pega o outro registro como se fosse 11...


GOSTEI 0
Titanius

Titanius

06/10/2004

Consegui resolver... valeu!


GOSTEI 0
Christian_adriano

Christian_adriano

06/10/2004

o q vc vez ???


t++


C. A.


GOSTEI 0
POSTAR