Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Ajuda com Fórmula SQL


Renato Roque

Posts Recomendados


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  4
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  40
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Pessoal, boa noite.

Estou fazendo um código sql para trazer um STATUS de uma disciplina em um histórico do aluno.

Até agora consegui fazer, mas na ultima variável, deu problema!

Quando a disciplina está na tabela do histórico do aluno, mas não tem o STATUS, ela provavelmente está na tabela de aproveitamento de estudos. Fiz então um CASE que funcionou bem.

Porém, a outra variável, é que ela pode não estar nem na tabela do histórico e nem na tabela de aproveitamento de estudos. Então, tentei fazer um CASE que, caso o resultado das duas primeiras consultas retornasse 0 ROWS, realizar uma outra consulta.

Porém nada da certo.

Qual seria o método adequado.

Segue abaixo os códigos:

SELECT TOP 1 CASE WHEN SHISTORICO.CODSTATUS is NULL then (SELECT TOP 1 CODSTATUS FROM SHISTDISCFAC

where RA = :ESPELHO#1 and SHISTORICO.CODDISC like :ESPELHO#8)

WHEN SHISTORICO.CODSTATUS = '' THEN (SELECT CODDISC FROM SDISCGRUPOEQ

where IDGRUPO = :ESPELHO#10)

else SHISTORICO.CODSTATUS end as TESTE

FROM SHISTORICO (NOLOCK)

WHERE

SHISTORICO.CODDISC=SDISCIPLINA.CODDISC

and

SHISTORICO.RA = :ESPELHO#1

and SHISTORICO.CODDISC like :ESPELHO#8

and CODSTATUS IN (2, 3, 4, 5, 6, 7, 18, 20, 21, 22, 25, 30, 31, 32)

order by CODPERLET desc, SHISTORICO.CODDISC

Grato

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.