2011-11-26 4 views
2

사용하여 SQL 서버 나 컬럼 1 및 2 열에서 유일한 값을 표시 할 2000값 열

ID Column1 column2 

001 050 100 
002 000 200 
003 100 000 
004 010 000 
005 000 000 

을 선택하는 방법.

시도 쿼리

Select id, Column1, Column2 where column1 <> '000' and column2 <> '000' 
-- Nothing data's displayed 

Select id, Column1, Column2 where column1 <> '000' or column2 <> '000' 
-- data's are displayed below 

ID column1 

    001 050 
    003 100 
    004 010 

예상 출력 위의 조건에 대한 쿼리를 만드는 방법

ID column1 column2 

001 050 100 
002  200 
003 100 
004 010 
, 나는 올바른 이해한다면 쿼리 도움말

답변

4

, 당신은 모든 행을 선택하려면 필요 여기서 Column1 또는 Column2는 000과 다른 값을 가지며 결과 행의 경우 000을 빈 문자열로 변경합니다.

SELECT 
    ID, 
    CASE WHEN Column1 = '000' THEN '' ELSE Column1 END, 
    CASE WHEN Column2 = '000' THEN '' ELSE Column2 END 
FROM Table 
WHERE (Column1 != '000' AND Column2 != '000')