..:: MX Studio Fóruns ::..: [Resolvido] INNER JOIN e/ou LEFT JOIN - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

[Resolvido] INNER JOIN e/ou LEFT JOIN Consultar BD ACCESS em site ASP usando critérios de LEFT JOIN

#1 User is offline   mvz 

  • Group: Membros
  • Posts: 11
  • Joined: 08-January 06

Posted 22 February 2010 - 08:55 PM

Olá pessoal!
Tenho a seguinte SQL num site em ASP e banco ACCESS:

SELECT *
FROM (cadastro INNER JOIN bairros ON bairros.Codigo = cadastro.id_bairro) INNER JOIN cep ON cep.cep = cadastro.cep
WHERE id_cadastro = MMColParam

Esta consulta está funcionanado perfeitamente, no entanto, agora tenho alguns cadastros que não estão com dados relacionados nas tabelas "bairros" e "cep", precisaria mostrar todos os cadastros, mesmo os que não tem campos relacionados... Sei que se deve usar LEFT JOIN ou RIGHT JOIN, mas como? Não consegui nas minhas tentativas. Por favor, espero alguma ajuda... Obrigado!
MVZ
0

#2 User is offline   xanburzum 

  • Group: Administrador
  • Posts: 2077
  • Joined: 04-November 08

Posted 22 February 2010 - 10:13 PM

você pode usar um UNION , mas lembre-se ter uma relacionamento entre as tabelas, na verdade, a impôrtancia de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo

0

#3 User is offline   mvz 

  • Group: Membros
  • Posts: 11
  • Joined: 08-January 06

Posted 22 February 2010 - 11:29 PM

Resolvido!
Na primeira vez que tentei o óbvio... que foi simplesmente trocar INNER por LEFT, não havia dado certo, por isso postei aqui a pergunta, no entanto, tentei novamente sem copiar e colar, mas digitando mesmo a instrução de consulta e deu certo na hora... unindo as três tabelas e mostrando todos os resultados, mesmo das tabelas sem nenhum campo relacionado, coisa que o INNER JOIN não faz... Como dá pra ver aí abaixo, a tabela principal é "cadastro" e tenho mais duas consultas nas tabelas "bairros" e "cep" que nem sempre terão dados para "puxar". Tenho certeza que vai ajudar muita gente, segue o correto:

SELECT *
FROM (cadastro LEFT JOIN bairros ON cadastro.id_bairro = bairros.Codigo) LEFT JOIN cep ON cadastro.cep = cep.cep

0

#4 User is offline   xanburzum 

  • Group: Administrador
  • Posts: 2077
  • Joined: 04-November 08

Posted 23 February 2010 - 10:07 PM

parabéns, amigo...
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)