Ir ao conteúdo

Problema com Select (INNER JOIN)


Eder Cuer

Posts recomendados

Postado

Eae galera, estou com um pequeno problema com um insert que eu fiz.

Estou criando um sistema de enquete, e ela está estruturada da seguinte maneira:

98225168.th.png

Eu queria que meu select retornasse o setor com as opções correspondentes a ele, mas ele ta retornando todas as opções. Tenho 8 opções e 21 setores, alguns setores tem 6 opções, outros 7, etc. Mas no meu select ele retorna todos com 8 opções.

Por exemplo o setor 1:

bancoconsulta.jpg

E com o Seletc que eu to fazendo fica assim:

consultainnerjoin.jpg

Ficou ruim de ver na imagem, então ta aqui o select:


SELECT id_op, nome_op, nome_setor
FROM (
setor INNER JOIN setor_opcoes
ON setor.id_setor = 1
)
INNER JOIN opções
ON opções.id_op = opcoes_id_op GROUP BY nome_op ORDER BY id_op, id_setor ASC

Quem puder ajudar eu agradeço, to fazendo alguma coisa errada e não sei o que. :wacko:

  • Moderador
Postado

Pelo visto a sintaxe está errada. Não testei a consulta mas veja se funciona assim:


SELECT id_op, nome_op, nome_setor FROM setor
INNER JOIN setor_opcoes ON setor.id_setor = setor_opcoes.setor_id_setor
INNER JOIN opções ON opções.id_op = opcoes_escola.opcoes_id_op
GROUP BY name_op ORDER BY id_op, id_setor ASC

notei que você definiu direto lá na sua consulta um id do inner join.. isso pode causar problemas uma vez que ele ia trazer dados sempre do ID 1. se quiser limitar use um WHERE talvez daria certo.

Postado

Valeu Dif, deu certo aqui. Coloquei um where e consegui filtrar:


SELECT id_op, nome_op, nome_setor FROM setor
INNER JOIN setor_opcoes ON setor.id_setor = setor_opcoes.setor_id_setor
INNER JOIN opções ON opções.id_op = setor_opcoes.opcoes_id_op
WHERE setor_id_setor = 1
GROUP BY nome_op ORDER BY id_op, id_setor ASC

  • Moderador
Postado

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!