Jump to content

Obter informação de uma Tabela de 3º Grau


passarito
 Share

Recommended Posts

Boas,

Se tivermos uma BD que tem 3 tabelas e com os dados da 1ª obter os dados da 3ª qual a melhor solução SQL?

Se foi confuso, vou tentar explicar melhor:

Tabela1 - Peças

> Entre outros campos existe 1 que é cod_forn

Tabela2 - Fornecedores

>ncod (está relacionado com o cod_forn anterior)

>cod_pais

Tabela3 - Paises

>ncod (está relacionado com o cod_pais anterior)

>nome

Ora o que eu pretendo é o código SQL que ao pedir uma peça ele me mostre o país.

Obrigado

Link to comment
Share on other sites

Atenção que nesse caso o resultado poderá ter vários paises.

SELECT	
pecas.codigo, paises.nome_pais
FROM		
fornecedores
INNER JOIN
pecas ON fornecedores.cod_forn = pecas.cod_forn
INNER JOIN
paises ON fornecedores.cod_pais = paises.cod_pais
WHERE
pecas.codigo='a1'

Usa a opção "Design query in editor" no management studio que facilita a criação deste tipo de ligações

  • Vote 1
Link to comment
Share on other sites

Atenção que nesse caso o resultado poderá ter vários paises.

Acho que não, porque uma Peça só pode ter um Fornecedor e este só pode ter um País.

Pelo menos era esta a minha intenção, no entanto se eu estiver a ver mal as coisas chuat aí...

Link to comment
Share on other sites

Ok, obrigado.

Vamos lá ver se a coisa funciona... é que isto é para ser aplicado em ASP Puro - VBscript.

Ele aceita código SQL, vamos lá ver é se ele bebe um código mais complicado, se não vai ter de ser feito com código "à bruta".

Filtro na tabela dos forncedores e com o resultado deste aplico outro filtro na tabela paises!

Basicamente é que faz este código só que de uma maneira mais optimizada do que a minha solução "à bruta".

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.