Em algumas situações sempre aparece alguma SQL Maluca que você precisa fazer pra exibir somente alguns dados de uma tabela do MySQL não é?
Sabemos bem como é, mas pensando nisso passamos por uma situação aqui, deixe-nos lhe contar o caso.
Temos uma aplicação/sistema onde existe o cadastro de usuários e estes tem níveis de acesso, com determinados níveis você consegue fazer isso e aqui, se não tiver o devido perfil não visualiza ou não faz tal ação dentro da aplicação/sistema.
Bom uma dessas coisas é o cadastro de novos usuários e para isso é preciso definir um perfil de acesso para este.
Nisso pensamos, bom o usuário tal com permissão básica não pode cadastrar um novo usuário com um perfil de uso acima do dele, pois seria uma falha grande de segurança da aplicação/sistema.
Para resolver isso, usamos a SQL abaixo:
SELECT SQL_CACHE IdPerfil, NomePerfil FROM Perfil_Usuarios WHERE NomePerfil IN ('Admin','User') ORDER BY NomePerfil DESC
Nesse caso somente iremos exibir o perfil ADMIN OU USER na tela, visto que podem ter outros no futuro.
mas também digamos que temos somente os dois, para usuários com o perfil USER usamos
SELECT SQL_CACHE IdPerfil, NomePerfil FROM Perfil_Usuarios WHERE NomePerfil IN ('User') ORDER BY NomePerfil DESC
Esperamos que a dica lhe ajude, caso lhe ajudou coloque ai nos comentários ou se tiver algo à acrescentar nos avise.
Que as linhas de código não lhe comam vivo por ai e sucesso
——-
Referências