Renato Roque Postado 20 de Setembro de 2011 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 Denunciar Compartilhar Postado 20 de Setembro de 2011 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 SHISTDISCFACwhere 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 Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.