2014-04-02 4 views
0

다음 사례 문을 작성하여 특정 주제에 대한 결과 목록을 가져 왔습니다.SQL 사례 문 논리 문제

SELECT upn, 
     Min(CASE name 
      WHEN 'English' THEN 
       CASE 
       WHEN result IS NULL THEN 'U' 
       ELSE result 
       END 
      END) English 
FROM subject 
GROUP BY upn 

결과가 NULL 인 경우이 결과를 가져 오는 U로 바꾸고 싶지만 위의 값은 NULL을 대체하지 않습니다. ELSE result 부분을 제거하면 작동하지만 분명히 NULLS와 Us가 표시됩니다. 뭔가 내 논리가 옳지 않아. 누구라도 잘못된 점을 찾아 낼 수 있습니까?

답변

2

는 올바른 방향으로 절 지적이

SELECT upn, 
     Min(CASE name 
      WHEN 'English' THEN 
       CASE 
       WHEN result IS NULL THEN 'U' 
       ELSE result 
       END 
      ELSE 'U' 
      END) English 
FROM subject 
GROUP BY upn 
+0

보십시오. 나는 following..SELECT의 UPN을했다, 최소 (CASE 이름 언제 '영어'THEN 결과 ELSE 'U' END) 영어 대상 그룹에서 UPN BY – Matt