Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos.
Tenho três tabelas, a, b e usuarios, a estrutura está abaixo. Preciso listar todas as descrições de A que não possuam ocorrencia em B para determinado usuario. Em B pode haver ocorrencias de A para outros usuarios, que não devem ser retornados. Desta forma deve ser retornado as descricoes de A ignorando as que estiverem atribuidas à usuário X, o que tiver atribuido à outros usuários não faz diferença.
Estou usando MySQL 5.6.17, então excepts ou not exist não rola. O not in me parecia uma boa saída, só que caso não tenha nem uma ocorrência de determinado usuário na tabela b, não retorna nada.
Tabela a: cod, descricao
Tabela b: cod, cod_a, cod_usuario
Tabela usuarios: cod, cod_usuario
Segue uma tentativa em vão:
SELECT a.cod,
a.descricao
FROM xxxxxxxxx a
left outer join xxxxxxxxx b on a.cod = b.cod_a
WHERE b.cod_usuario <> 2
Alguém tem ideia de que forma pode ser resolvido isto? Minha ideia inicial era dois selects com excepts, mas foi por água abaixo por ser MySQL.
Obrigado!
Carregando comentários...