2013-05-21 4 views
0

데이터가 여러 행과 열에 0 또는 1 값으로 표시됩니다. 내가하려는 것은 각 1에 대해 고유 한 행을 만드는 것이지만, 때로는 여러 개의 행이 하나씩 있습니다. 예를 들어 :행의 각 열에 대해 다른 행 반환

**A B C D** 
    1 0 1 1 
    0 0 0 1 
    1 1 0 0 

나는 사전에 너무

**RETURN** 
    A 
    C 
    D 
    D 
    A 
    B 

감사처럼 하나 개의 컬럼에 반환 여섯 개 행을 모두 가지고 싶습니다!

답변

1

당신은 union all 문을 사용하여이 작업을 수행 할 수 있습니다

select val 
from ((select 'A' as val from t where A = 1) union all 
     (select 'B' from t where B = 1) union all 
     (select 'C' from t where C = 1) union all 
     (select 'D' from t where D = 1) 
    ) t 

을 참고로 : 나는 당신이 출력에 포함시킬 수있는 다른 열이 있기를 바랍니다. SQL 테이블은 정의에 따라 정렬되지 않습니다. 따라서, 주어진 값에 대한 원래 소스의 예에서는 실제로 알 수 없습니다.

+0

예, 데이터를 정렬 할 다른 열이 있습니다. 방금 간략하게 관련 부분을 제공했습니다. 이것은 매력처럼 작동했습니다. 고맙습니다! –

+0

@Ron 그 다음 그의 대답을 받아 들인다! – orbfish

관련 문제