Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Consultar o primeiro nome e os interesses que cada contato não tem.
- # DISTINCT é utilizado para retornar apenas valores não repetidos
- # Para mais detalhes: https://www.w3schools.com/sql/sql_distinct.asp
- #
- # A ideia é:
- # 1º) Encontrar os interesses de cada contato;
- # 2º) Encontrar o produto cartesiano entre as três tabelas
- # 3º) O resultado é tudo aquilo do produto cartesiano que não esta na tabela do passo 1.
- SELECT DISTINCT meus_contatos.primeiro_nome AS Nome, interesses.interesse AS Interesse
- FROM meus_contatos
- CROSS JOIN contato_interesse CROSS JOIN interesses
- WHERE (meus_contatos.primeiro_nome, interesses.interesse)
- NOT IN
- (
- SELECT meus_contatos.primeiro_nome, interesses.interesse
- FROM contato_interesse
- INNER JOIN meus_contatos
- ON meus_contatos.id_contato = contato_interesse.id_contato
- INNER JOIN interesses
- ON interesses.id_interesse = contato_interesse.id_interesse
- )
- ORDER BY meus_contatos.primeiro_nome;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement