Как использовать прецедент при функции

#sql

#sql

Вопрос:

Как я могу исключить этот код при использовании функции case when, как показано ниже; Могу ли я использовать ‘from’ в функции case when?

           SPRIDEN_ID NOT IN ((SIBINST_TERM=
             (select max(SIBINST_TERM)
                       from sibinst
                       where SIBINST_TERM<'201920'
                              and sibinst_id=spriden_id)
                 and SIBINST_FCS='AC' 
             ))
  

Я хочу поместить это в этот код, как показано ниже, но это выдает ошибку при
от says missiong правильный фрагмент

 select  distinct 
       spriden_last,        
        case WHEN  (SPRIDEN_ID IN (SELECT SGBSTDN_ID FROM SGBSTDN) AND 
                    SPRIDEN_ID NOT IN ((SIBINST_TERM=
             (select max(SIBINST_TERM)
                       from sibinst
                       where SIBINST_TERM<'201920'
                              and sibinst_id=spriden_id)
                 and SIBINST_FCS='AC' 
             )))
                    THEN 'S'      END AS FF        
   FROM SPRIDEN,SIBINST
   WHERE spriden_id=sibinst_id     ;
  

Комментарии:

1. Удалите запятую после FF.

2. Совет сегодняшнего дня: переключитесь на современный, явный JOIN синтаксис. Проще писать (без ошибок), легче читать (и поддерживать) и при необходимости легче конвертировать во внешнее соединение.