Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tayron Miranda

Fazer select onde registro não esteja vinculado em outra tabela

Recommended Posts

Tenho uma tabela chamada Modulo => Permissao <= Grupo.

 

A tabela permissão carrega as PKs de grupo e módulo ou seja:

A minha tela de alterar grupo faz a listagem dos módulos pertencente a este grupo e me dá opção de adicionar mais módulos ou excluir.

 

Para adicionar módulos eu tenho um select, porém eu queria que aparecesse somente os módulos que ainda não foram adicionados ao grupo.

 

O que preciso, fazer um select nos módulos onde não exista registro dele na tabela permissão vinculado ao idgrupo que está sendo usado atualmente.

 

LOGICA: Seleciona todos os módulos onde eles não esteja cadastrado na tabela Permissão junto ao grupo X

Compartilhar este post


Link para o post
Compartilhar em outros sites

Not exists ...

 

+ou- isto.

 

select *
from modulo
where not exists (select null
                 from   permissao
                 where  permissao.idgrupo = modulo.idgrupo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Not exists ...

 

+ou- isto.

 

select *
from modulo
where not exists (select null
                 from   permissao
                 where  permissao.idgrupo = modulo.idgrupo)

 

Motta, muito obrigado, era exatamente o que precisava, porém com certas modificações:

 

                               'SELECT
                                       idmodulo,
                                       nme_modulo
                               FROM
                                       modulo
                               WHERE
                                       NOT EXISTS
                                                   (
                                                       SELECT
                                                               null
                                                       FROM
                                                               permissao
                                                       WHERE
                                                               permissao.modulo_idmodulo   = modulo.idmodulo AND
                                                               permissao.grupo_idgrupo     = '.$_POST['idgrupo'].'
                                                   )'

 

Muito obrigado pela ajuda, a cada vez vejo que há muita coisa em SQL que não sei e que muito das coisas que perco tempo em fazer via programação, poderia resolver com uma simples sql como essa acima... ='^.^= Valeu... \o/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.