Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Amilt

Consulta entre 3 tabelas

Recommended Posts

Boa tarde pessoal.

Tenho o seguinte caso.

tabelas:

 

-----ativos---- cadastros dos meus ativos

id

nome

----------------

"1","switch1"

"2","switch2"

"3","cpu1"

"4",cpu2

__________________

----nodes----cadastros que eu defino qual ativo ira ser um nó de comunicaçao, exemplo os swtichs

id

ativo_id

---------------

"1","1"

------------- um registro definindo o ativo com id "1" como um nó de comunicaçao

_____________________

----ativos_nodes-----onde eu defino quais ativos irão se conectar ao nó de comunicaçao

id

node_id

ativo_id

--------------------

"1","1","3"

"2","1","4"

Aqui estou dizendo que tenho dois registos indicando que o nó de comunicaçao id=1 possui dois ativos os com id 3 e 4

 

 

sabendo que o ativo com id=1 é switch1, como eu faria para dizer que quero listar os ativos_nodes do switch1 que tem me dizer que eh o cpu1 e cpu2

Já tentei algo assim, mas estou apanhando como um cachorro, nao me retorna nada

 

select
a.nome ,
a.id
from ativos a,
ativos_node an,
nodes n
where
an.ativo_id = a.id and
an.node_id = n.id and
n.ativo_id = a.id and
a.nome='switch1'

 

Agradeço quem tiver interesse em ajudar

 

 

obrigado

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Preciso de ajuda com a sintaxe. vamos melhorar o exemplo então.

 

tabela clientes :id,nome

tabela telefones :id,numeros

tabela telefone_cliente: id,cliente_id,telefone_id

um cliente pode ter varios telefones registrados na table a telefone_cliente

como é a sintaxes sql sendo com inner ou naum para listar os numeros dos telefones do cliente com o nome x

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, melhorou os nomes. Com 2 tabelas vc ja resolve o problema

 

 

SELECT c.*, f.numeros FROM clientes as c
INNER JOIN telefones as f ON c.id_cliente = f.id_cliente
WHERE c.id_cliente = 1

 

vcpode ler assim sql

selecione os todos campos de clientes e o numero de fone de clientes junte com telefones (on) onde o id_cliente(cliente) seja igual id_cliente(telefone)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.