Mysql: Problema com INNER JOIN em Foreign Keys que podem ser nulas

2 respostas
I

Boa noite/tarde/dia

Estou com um problema que me parece ser complicado. Eu tenho uma tabela que possui 3 foreign keys. O problema é que uma ou duas dessas FK podem ser nulas. Ai vem o problema. Quando eu faço um Inner Join no java, ele não me retorna registros em que pelo menos 1 dessas FK esteja vazia. Existe alguma forma ignorar o fato de uma FK estar vazia, e me retornar os registros?

Vou passar alguns detalhes.
É uma tabela de alertas, e essa tabela vai se relacionar com usuario (pra saber quem criou o alerta, nula no caso de o criador ser o sistema).
Vai se relacionar com a tabela peca, caso o alerta seja referente a uma peça especifica.
Vai se relacionar a tabela Maquina, caso o alerta seja referente a uma maquina especifica.

Então basicamente é isso. Da pra resolver o esquema do inner join, ou o jeito é quebrar a tabela em 3 (alerta, alerta_maquina, alerta_peca)?.

2 Respostas

A

cara,

vc tem que usar LEFT JOIN em vez de INNER JOIN.

t+

I

Hehe, OK cara, muito obrigado.
Vou tentar isso… é que eu to estudando mysql ainda e não tinha entendido muito bem os joins, com exceção do inner… ai eu fui usando ele mas parece que agora minha necessidade é outra…

Vlw!

Criado 26 de outubro de 2011
Ultima resposta 26 de out. de 2011
Respostas 2
Participantes 2