Jump to content
Fórum Script Brasil
  • 0

SELECT


Enigmatick

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Guest
This topic is now closed to further replies.


  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...