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

SELECT


Enigmatick

Pergunta

Alguém pode me ajudar para fazer o seguinte ???

Tenho as tabelas:

PESSOA:

id (chave primária), tipo: int

nome, tipo: varchar

MATÉRIA:

id (chave primária), tipo:int

nome, tipo: varchar

PESSOA_MATÉRIA:

id_pessoa (chave estrangeira), tipo: int

id_materia (chave estrangeira), tipo:int

Nas tabelas tenho os registros:

Tabela Pessoa:

id: 1 nome: Antonio

id: 2 nome: Apolonio

id: 3 nome: Marcela

id: 4 nome: Paula

Tabela Matéria:

id: 1 nome: Física

id: 2 nome: Matemática

id: 3 nome: Química

Tabela Pessoa_Matéria

id_pessoa: 1 id_materia: 1

id_pessoa: 1 id_materia: 2

id_pessoa: 2 id_materia: 1

id_pessoa: 3 id_materia: 2

id_pessoa: 4 id_materia: 1

id_pessoa: 4 id_materia: 3

O que eu quero é saber: Qual pessoa estuda exatamente as matérias de física (id:1) e matemática (id:2) ?

A respota é Antonio (id:1). Porém como posso fazer um select que me retorne exatamente isso ???Não quero saber quem faz física ou quem faz matemática, quero saber que faz as duas.

Desde já agradeço quem possa ajudar de alguma forma.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'Enigmatick'!

Tente assim

select p.id, p.nome from pessoa p
where p.id in (select pm.idpessoa from pessoa_materia pm
where pm.idmateria = 1) and p.id in (select pm.idpessoa from pessoa_materia pm
where pm.idmateria = 2);

e informe sucesso ou fracasso.

att Denis Courcy

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,9k
×
×
  • Criar Novo...