SELECT COM CHAVE ESTRANGEIRA

FBGSYSTEMS 20/11/2013 11:32:35
#431294
Bom dia galera.
Estou com uma d uvida aqui
PReciso fazer um select para povoar um grid de produtos. Na tabela produtos tenho algumas chave estrangeiras(codgurpo,codsubgrupo etc)

Porém elas não são obrigatórias. Como eu poderia resolver isso na minha classe de um jeito organizado que não fique muito procedural ??
Pois se eu fizer com inner join o registro não aparecerá caso por exemplo o codgrupo não tenha valor.
GUIMORAES 20/11/2013 16:13:07
#431304
Resposta escolhida
Faz com left join.
FBGSYSTEMS 20/11/2013 16:29:05
#431306
Boa tarde. Vou pesquisar. Nunca usei este comando. Ele prioriza o que esta na tabela da esquerda da instrução ?
Poderia me dar um exemplo ?
GUIMORAES 21/11/2013 11:30:28
#431336
Vou te explicar.

Tabela Produtos
Codigo| Nome | Grupo
1 | Maçã | 1
2 | Pera |
3 | Abacate | 2


Tabela Grupos
Codigo| Nome
1 | Maçãs
2 |Abacates


Bom, irei fazer o Select com o inner join, que me retornará somente o que possui referência.

Select produtos.codigo, produtos.nome, grupos.nome
from produtos
inner join grupos on grupos.codigo = produtos.grupo

Neste caso, irá retornar o seguinte:
Codigo| Nome | Grupo
1 | Maçã | Maçãs
3 | Abacate | Abacates

-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Com o Left Join

Select produtos.codigo, produtos.nome, produtos.grupo
from produtos
left join grupos on grupos.codigo = produtos.grupo

Neste caso me retornará tudo, tendo grupo ou não.

Codigo| Nome | Grupo
1 | Maçã | Maçãs
2 | Pera |
3 | Abacate | Abacates

Abraços

FBGSYSTEMS 17/12/2013 09:22:30
#432175
Obrigado colega, deu certo!
Tópico encerrado , respostas não são mais permitidas