O problema é o seguinte: eu tenho uma tabela chamada eventos e outra chamada pessoas, e mais uma para ligar essas duas (para cadastrar as pessoas nos eventos).
Em exemplo de como seria essa terceira tabela (que liga pessoas à eventos) seria assim:
id_evento | id_pessoa
-------------------------------------
1 | 1
1 | 2
1 | 3
2 | 2
3 | 3
Como eu faço para obter os "id´s" dos eventos do qual a pessoa 1 não participou? Para obter os eventos que ela participou é fácil, mas os que ela não participou é que fica difícil, porque não dá pra colocar ...WHERE id_pessoa != $id_pessoa. Assim ele selecionaria a segunda e a terceira linha também e no entanto a pessoa 1 participou do evento 1. Outra coisa é que a pessoa pode estar cadastrada em vários eventos.
Alguém sabe como fazer isso com MySQL?
Pensei em fazer uma subtração entre o número total de eventos e os que a pessoa participou, mas a única operação entre selects do MySQL é a união.
Pergunta
Guest Renato Golveia Felisbino
O problema é o seguinte: eu tenho uma tabela chamada eventos e outra chamada pessoas, e mais uma para ligar essas duas (para cadastrar as pessoas nos eventos).
Em exemplo de como seria essa terceira tabela (que liga pessoas à eventos) seria assim:
id_evento | id_pessoa
-------------------------------------
1 | 1
1 | 2
1 | 3
2 | 2
3 | 3
Como eu faço para obter os "id´s" dos eventos do qual a pessoa 1 não participou? Para obter os eventos que ela participou é fácil, mas os que ela não participou é que fica difícil, porque não dá pra colocar ...WHERE id_pessoa != $id_pessoa. Assim ele selecionaria a segunda e a terceira linha também e no entanto a pessoa 1 participou do evento 1. Outra coisa é que a pessoa pode estar cadastrada em vários eventos.
Alguém sabe como fazer isso com MySQL?
Pensei em fazer uma subtração entre o número total de eventos e os que a pessoa participou, mas a única operação entre selects do MySQL é a união.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados