2016-11-02 3 views
-2

내 실수는 어디에 있나요?선택 항목의 중첩 된 케이스

select dr.ders_code, dr.year, 
case when dr.muf_sq is not null then 
case when (select muf_sq_id from mufredat_sq m join ders_stud_ref dr on dr.muf_sq = m.muf_sq_id) = dr.muf_sq then dr.muf_sq end 
end 
from ders_stud_ref dr 
+1

뭔가를해야한다고 생각? – Aleksej

+0

두 번째 중첩 된 경우 @Aleksej : 선택 사례 ((mufredat_sq에서 muf_sq_id를 선택하십시오. dr_uud_ref를 dr.muf_sq = m.muf_sq_id에 합치십시오) = dr.muf_sq) 그런 다음 dr.muf_sq end. 실행할 수 없습니다. – jaraisyn

+0

오류가 있습니까? 그렇다면 어떤 오류입니까? 또는 예기치 않은 결과가 있습니까? 그리고 그렇다면 무엇을 기대 했습니까? 또한 명확한 설명을 추가하는 대신 질문을 편집하십시오. – Aleksej

답변

1

첫 번째 실수는

select muf_sq_id 
       from mufredat_sq m 
       join ders_stud_ref dr on dr.muf_sq = m.muf_sq_id 

보다 한 행 한 후 반환 할 수 있습니다

난 당신이

문제/오류가
select dr.ders_code, dr.year, 
case when dr.muf_sq is not null then 
case when exists (select muf_sq_id 
      from mufredat_sq m 
      where dr.muf_sq = m.muf_sq_id) then dr.muf_sq end 
end 
from ders_stud_ref dr