Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta Sql


diogoleter

Pergunta

Olá,

Estou com a seguinte dificuldade:

Tenho duas tabelas de banco de dados no padrão SQL.

aluno

cod_aluno

nome

telefone

email

relevento

cod_relevento

cod_aluno

cod_evento

A tabela aluno armazena as informações do aluno, e a tabela relevendo relaciona o aluno(cod_aluno) com algum evento(cod_evento) que esta armazenada em outra tabela.

Minha dúvida é como fazer uma consulta para localizar todos os alunos que não possuem código cadastrado na tabela relevendo.

A consulta que verifica o aluno que tem codigo cadastrado na tabela relevendo eu fiz de boa.

SELECT al.nome FROM aluno al, relevendo rl WHERE al.cod_aluno=rl.cod_aluno

Grato!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Minha dúvida é como fazer uma consulta para localizar todos os alunos que não possuem código cadastrado na tabela relevendo.

A consulta que verifica o aluno que tem codigo cadastrado na tabela relevendo eu fiz de boa.

SELECT al.nome FROM aluno al, relevendo rl WHERE al.cod_aluno=rl.cod_aluno
Grato!
Fácil. Use assim.
SELECT al.nome FROM aluno al WHERE al.cod_aluno <> (SELECT alu.cod_aluno FROM aluno alu
LEFT JOIN relevendo rl ON al.cod_aluno = rl.cod_aluno)
att Denis Courcy Desculpe cometi uns errinhos no post anterior. O código correto é:
SELECT al.nome FROM aluno al WHERE al.cod_aluno <> (SELECT alu.cod_aluno FROM aluno alu LEFT JOIN relevendo rel ON alu.cod_aluno = rel.cod_aluno)
E, se retornar linhas duplicadas utilize a cláusula DISTINCT no SELECT da sub query. Exemplo:
SELECT al.nome FROM aluno al WHERE al.cod_aluno <> (SELECT DISTINCT alu.cod_aluno FROM aluno alu LEFT JOIN relevendo rel ON alu.cod_aluno = rel.cod_aluno)

att

Denis Courcy

Link para o comentário
Compartilhar em outros sites

  • 0
Olá Denis,

Obrigado pela ajuda mas ainda não deu certo. Já havia tentado essa sintaxe mas não foi... O erro ocorre no segundo select.

Obrigado!

Explique melhor. Que tipo de erro é reportado?

att

Denis Courcy

Link para o comentário
Compartilhar em outros sites

  • 0

Denis,

Um amigo me passou a seguinte sintaxe:

SELECT * FROM aluno WHERE cod_alun NOT IN (SELECT cod_aluno FROM relevento)

Esta sintaxe retornou o que estava precisando...

Quanto ao tipo de erro, o Query Browser do MySQL apenas retorna a linha onde esta o erro, no caso a linha do segundo select. Testei pelo phpMyAdmin mas também para a mesma linha.

Mas obrigadão pela ajuda!

Att.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...