Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera!
Tenho Duas Tabelas...
TblFormulario
TblDtlFormulario
Na primeira tabela tem o campo:
CodForm
Que é o único que me importa.
E a segunda tabela tem os campos:
CodFuncionario
CodForm - FK da tabela TblFormulario.
Eu estou cadastrando permissões de funcionários para os formulários.
Estou querendo trazer num ListBox todos os formulários que ainda NÃO foram dados permissões para o funcionário que eu escolher no ListBox de cima.
Eu consigo trazer os que ele TEM permissão, mas não os que ele NÃO TEM.
ComoFas?
select tbldtlformulario.codform, descricaoform from tbldtlformulario inner join tblformulario on tblformulario.codform = tbldtlformulario.codform where tblformulario.codform = tbldtlformulario.codform and codfuncionario = 1
Será que pode colocar o código do funcionário como condição ?
Tente com outer join e testando nulo.
select tbldtlformulario.codform, descricaoform
from tbldtlformulario
outer join tblformulario on tblformulario.codform = tbldtlformulario.codform where
tblformulario.codform = tbldtlformulario.codform
and codfuncionario = 1
and tblformulario.codform is null
Não deu certo...
Eu tentei de outra forma:
select
tblformulario.codform,
descricaoform
from
tblformulario, tbldtlformulario
where
tblformulario.codform not in(select codform from tbldtlformulario)
and
tbldtlformulario.codfuncionario = 256
group by
tblformulario.codform,
descricaoform
Eu consigo trazer o que não tem! Mas por exemplo, se eu tiver um funcionário que não tenha acesso a nenhum não vai ter registro na tabela... então ele não traz nada... aí que era para trazer.
not exists
select tbldtlformulario.codform, descricaoform
from tbldtlformulario
where codfuncionario = 1
and not exists (select null
from tblformulario
where tblformulario.codform = tbldtlformulario.codform)
Como obteve os TEM ?