Jump to content
RafaGomes

[Resolvido] Select Case condicional

Recommended Posts

Boa tarde, seria possível realizar uma consulta da seguinte forma:

SELECT *
FROM CARGA
WHERE (CASE WHEN :VARIAVEL = 2 THEN ('2', '7')
WHEN :VARIAVEL = 3 THEN ('3', '9', '10')
WHEN :VARIAVEL = 4 THEN '4'
WHEN :VARIAVEL = 5 THEN '5'
WHEN :VARIAVEL = 6 THEN '6' END) IN AD_DIAENTREGA;

 

Share this post


Link to post
Share on other sites

Mas :V ARIAVEL  seria comparado com alguma coluna ?

Com o conteúdo de AD_DIAENTREGA ?

 

Explique melhor o problema

Share this post


Link to post
Share on other sites

boa tarde Motta, eu tenho essa tabela carga no sistema eu preciso retornar os registros na seguinte situação: é passado um valor pela variável e conforme esse valor deverá retornar os registros que tenham os campos que preciso. ex:
carga segunda (2), carga terça(3), carga quarta(4), carga quinta(5), carga sexta(6), carga terça e quinta(7), carga segunda e quarta(8), todos os dias(9)

 

caso o valor da variável for 2 deverá retornar os registros 2, 8 e 9

caso o valor da variável for 3 deverá retornar os registros  3, 7 e 9

caso o valor da variável for 5 deverá retornar os registros 5 e 9

 

AD_DIAENTREGA é uma coluna da tabela carga é nele que que tem os valores que preciso buscar, VARIAVEL é um valor que vou passar através da aplicação.

a estrutura da tabela é: nro_carga, desc_carga, ad_diaentrega

Share this post


Link to post
Share on other sites
SELECT *
FROM CARGA
/*
caso o valor da variável for 2 deverá retornar os registros 2, 8 e 9
caso o valor da variável for 3 deverá retornar os registros  3, 7 e 9
caso o valor da variável for 5 deverá retornar os registros 5 e 9
*/
WHERE ( (:VARIAVEL = 2 AND AD_DIAENTREGA IN (2,8,9))
         OR
        (:VARIAVEL = 3 AND AD_DIAENTREGA IN (3,7,9))
         OR
        (:VARIAVEL = 5 AND AD_DIAENTREGA IN (5,9)) )

Faltou o 6 ...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By blbvicente
      Olá amigos, gostaria de tirar uma dúvida para o andamento do meu projeto de conclusão de curso.
       
      Como posso fazer um código para alterar imagens no banco de dados via PHP e utilizando o MySQL com ambiente de admin?
       
      Como meu HTML e CSS estão prontos, (tanto a home quanto a página de login para o admin) a ultima parte que falta é conseguir fazer isso que lhes estou pedindo ajuda hahaha
       
      Desde já agradeço a ajuda! 
    • By danielcruz733
      Boa tarde a todos,

      estou fazendo um trabalho de banco de dados para a faculdade e devo dizer que BD não é o meu forte. Modelei um banco de dados referente a uma clínica odontológica e como parte do trabalho preciso responder a algumas queries, mas estou esbarrando em duas delas. Talvez vocês possam me ajudar (acredito que sim pois é algo a nível básico).

      1. A primeira query é a seguinte:

      Preciso listar o nome de todos os médicos trainees cujos testes de avaliação contem o termo "insuficiente". Além do nome do médico trainee, a consulta deve me retornar o seu ID, sua pontuação, a descrição do teste (suficiente, insuficiente...) e o nome do médico que fez a avaliação.

      Segue as tabelas que estou trabalhando para esta query:

      ►empregado [id, nome] - esta tabela contém todos os funcionários da clínica, incluindo os médicos e médicos trainees
      ►medico_trainee [id_medico_trainee, id_medico_supervisor] - os dois atributos atuam como chaves estrangeiras, a primeira referencia o id da tabela médico e a segunda referencia o id da tabela médico_permanente
      ►medico [id] - id é chave primária e estrangeira que referencia id de empregado
      ►medico_permanente [id] - id é chave primária e estrangeira que referencia id de medico
      ►avaliacao [id, descricao, pontuacao] - id é chave primária e estrangeira que referencia id de medico_trainee

      Na query abaixo eu consigo listar tudo o que preciso exceto o nome do médico que fez a avaliação (essa parte não consegui fazer)

      select e.nome, e.id, a.pontuacao, a.descricao
      from empregado e
      join avaliacao a on a.id=e.id
      where descricao=''insuficiente'' order by a.avaliacao desc;

      2. A segunda query é a seguinte:

      Preciso listar o nome, cidade e o id de todos os clientes da clínica cuja consulta o médico tenha diagnosticado "gingivitis" ou "periodontitis". Esta não me parece muito difícil mas também estou batendo cabeça. Segue abaixo as tabelas que estou trabalhando para esta query:

      ►cliente [id, nome, cidade]
      ►consulta [id_medico, id_cliente]
      ►resultado_consulta [id_medico, descricao] - em descrição é que o médico anota o diagnóstico: "gingivitis", "periodontitis", etc.

      Se alguém tiver alguma dica agradeço.
    • By devenr
      Estou com dificuldade na criação de uma procedure que receba três valores numéricos e insira um registro na tabela abaixo:
       
       
      TB_MAIORES NUMERO1 Primeiro valor NUMERO2 Segundo valor NUMERO3 Terceiro valor MAIOR Maior valor entre (NUMERO1, NUMERO2 e NUMERO3)
    • By denys017
      Bom dia, boa tarde ou boa noite, bem o que quero fazer é o seguinte eu salvei o nome de algumas imagens no banco e quero ligar elas a um id de usuario, para que na hora de exibir as imagens só exiba as imagens que estejam ligadas/cadastradas com aquele usuario, resumindo quero saber como faço para ligar os campos das imagens cadastrada ao campo do usuario no sql.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.