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

Relacionamento M:N -> NOT IN (eu acho)


galrao

Pergunta

Olá DBAs

Tenho 2 tabelas

Usuarios -> idUsu, diaNascimento, mesNascimento

Enviados -> fkUsu, ano

Todo dia ele pergunta se é aniversário do usuário na tabela USUARIOS

Depois eu envio um e-mail para ele dizendo parabéns, e em seguida registro na tabela ENVIADOS a idUsu -> fkUsu e o ano ex: ano = '2009', fkUsu = '10'.

Gostaria de saber como eu seleciono apenas os que ainda não foram enviados para o dia de hoje.

Ex do meu SQL (errado :wacko: )

SELECT idUsu, mesNascimento, diaNascimento
                FROM Usuarios
                WHERE mesNascimento = '$mesHoje',
                        diaNascimento = '$diaHoje', 
                        idUsu NOT IN (SELECT fkUsu
                                          FROM enviados
                                          WHERE ano = '$anoHoje');

Eu não tenho idéia de como isto pode ser feito, alguém pode me dar uma luz?

Agradeço, e muito, a atenção concedida.

Editado por galrao
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi, 'galrao'

Você quer que o sistema te mostre somente os usuários que NÃO receberam email e que estão fazendo aniversário HOJE?

Se é isto, basta ajustar seu SELECT assim:

SELECT idUsu, mesNascimento, diaNascimento
                FROM Usuarios
                WHERE mesNascimento = '$mesHoje' AND
                        diaNascimento = '$diaHoje' AND 
                        idUsu NOT IN (SELECT fkUsu
                                          FROM enviados
                                          WHERE ano = '$anoHoje');

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...