Boa tarde galera,
Podem me ajudar em um sql com 3 tabelas que não to conseguindo acertar aqui.
Seguinte tenho duas tabelas:
Tabela DHCP
id |mac |ip |host
1 00-00-00-00-00-00 192.168.1.1 casa.dominio.br
2 00-00-00-00-00-00 192.168.1.2 escritorio.dominio.br
3 00-00-00-00-00-00 192.168.1.3
Tabela Switch
id |porta |mac
1 2 00-00-00-00-00-00
2 4 00-00-00-00-00-00
3 5 00-00-00-00-00-00
4 6 00-00-00-00-00-00
Tabela Filtro
id |mac |ip |alias
1 00-00-00-00-00-00 192.168.1.1 Computador de casa
2 00-00-00-00-00-00 192.168.1.2 Computador de Escritorio
3 00-00-00-00-00-00 192.168.1.3 Computador do quarto
Usando where filtro.mac = switch.mac.
Preciso que imprima todos os valores do switch.
Preciso do seguinte resultado resultado:
switch.mac |dhcp.mac |dhcp.ip |dhcp.host |switch.porta |filtro.alias
00-00-00-00-00-00 00-00-00-00-00-00 192.168.1.1 casa.dominio.br 2 Computador de casa
Caso não o exista ou dhcp.mac ou filtro.mac ele imprime em branco ou “não cadastrado”.
Tipo assim no id 3:
switch.mac |dhcp.mac |dhcp.ip |dhcp.host |switch.porta |filtro.alias
00-00-00-00-00-00 00-00-00-00-00-00 192.168.1.3 não encontrado/cadastrado 5 Computador do quarto
Mas que mostre caso não encontre nem um ou nem outro tipo assim:
switch.mac |dhcp.mac |dhcp.ip |dhcp.host |switch.porta |filtro.alias
00-00-00-00-00-00 não encontrado/cadastrado 5 não encontrado/cadastrado
To usando inner join mas aí não mostra nada caso não encontre.O Union tb msm coisa.Quero que mostre todo select do switch.
Obrigado.