2013-10-03 2 views
2

조건을 만족하는 SQL을 사용하거나 사용하지 않으려면 어떻게해야합니까? 값이 1 인 열이 있으면 빈을 반환해야하지만 모두 값이 0이면 모든 튜플을 반환합니다.SQL 반환 조건부

+0

행에 ** 값이 1 인 ** 임의의 ** 열 또는 특정 열이 있으면? – Lamak

+0

테이블의 구조는 무엇입니까? 모든 관련 항목을 포함하십시오. – Yuck

+0

테이블 구조가 무엇이든 관계없이 작동하는 일반적인 솔루션을 찾으려면 동적 SQL을 사용해야합니다. –

답변

3

당신은 이런 식으로 작업을 수행 할 수 있습니다 조건은 모든 행 true 또는 false로 평가

SELECT * 
FROM MyTable 
WHERE (SELECT COUNT(*) FROM MyTable t WHERE t.MyColumn=1)=0 

을; 행에 1이 있으면 행이 리턴되지 않습니다.

+0

이것은 하나의 열만 검사하는 것입니다. 질문에서 여러 열을 모두 확인해야한다고 생각할 때입니다. – Yuck

+0

@Yuck OP의 의도는 문장에서 100 % 명확하지 않지만 'WHERE' 절은'OR t.MyOtherColumn = 1 OR ... '을 사용하여 쉽게 확장하여 다른 열을 고려할 수 있습니다. – dasblinkenlight

+0

감사합니다. – Santin