2012-06-14 5 views
1

여기에 제 요구 사항이 있습니다. WHEN 조건이 충족 될 때 SQL CASE 문에서 THEN 부분이 실행됩니다 .. 조건이 충족되지 않으면 다음을 수행해야합니다. (필자는 ELSE 부분에 OR을 가질 필요가 있음을 의미)에서 선택하는 두 가지 옵션이 있습니다 .. 내가 여기에 붙어OR을 CASE 문의 ELSE 부분에서 사용하는 방법

..

CASE WHEN 
    tablename.ID=0 
THEN 
    tablename.description 
ELSE 
    tablename.description2 OR tablename.description2 
END AS abcd 

을 내가 마이그레이션을 SQL 위해 FoxPro에 일을 해요, 그래서 foxpro에서 CASE의 ELSE 부분 (/ foxpro에서 IIF라고 함)에 '/'를 사용하는 문장이 있습니다.

SQL에서 '/'가 OR이라고 가정합니다.

이 요구 사항을 만족시키는 솔루션은 무엇입니까? 당신이에 따라 다른 조건이있는 경우

+2

그 논리는 말이되지 않습니다. 식이 아닌 결과에 대한 "OR"을 수행합니다. ELSE에 표시되는 값은 tablename.ID <> 0. 일 때 필드에 입력 할 값입니다. –

+0

더 많은 쿼리를 게시 할 수 있습니까? – Purplegoldfish

+2

음, FoxPro [division]의'/'가 아닙니다. http://msdn.microsoft.com/en-US/library/0fh39279(v=vs.80)), [SQL Server]와 동일합니다 (http://msdn.microsoft.com/ko-kr/default.aspx) us/library/ms175009.aspx)? –

답변

1

는, 당신은의 첫 번째 다른 섹션에서 두 번째 경우를 삽입 할 수 있습니다

CASE 
    WHEN tablename.ID=0 THEN tablename.description 
    ELSE 
     CASE 
      WHEN condition2 THEN tablename.description2 
      ELSE tablename.description2 
     END 
END AS abcd 

은 당신이하고 싶은 것을 비슷한인가?

관련 문제