2014-03-02 3 views
-5

MS SQL에 관한 문제가 있습니다.열만 null이 아닙니다.

column_b column_d 
NULL  1 
1   1 
1   NULL 
NULL  NULL 
+0

간단한 대답 - SQL을 사용하면 데이터 집합에 따라 다른 열 집합을 생성 할 수 없습니다. –

+0

datagridview 열만 null이 아닌 데이터를 표시하는 방법은 무엇입니까? – user3313766

+0

아니요, "null이 아닌 열"이라는 용어가없는 경우 열은 항상 null이 아닙니다. 열의 특정 행의 값은 null이 될 수 있습니다 –

답변

1

당신이 그것을하고 싶은 이유에 의문을 제기하지 않고 귀하의 질문에 대답하려면 :이 출력을 생성하는 쿼리를 작성하려는

column_a column_b column_c column_d 
NULL  NULL  NULL  1 
NULL  1   NULL  1 
NULL  1   NULL  NULL 
NULL  NULL  NULL  NULL 

:

내 테이블입니다. 당신은

DECLARE @sqlQuery VARCHAR(200) 


SELECT @sqlQuery = 'SELECT ' 
IF EXISTS (SELECT column_a FROM myTable WHERE column_a IS NOT NULL) 
SELECT @sqlQuery = @sqlQuery + 'column_a, ' 

IF EXISTS (SELECT column_b FROM myTable WHERE column_b IS NOT NULL) 
SELECT @sqlQuery = @sqlQuery + 'column_b, ' 

IF EXISTS (SELECT column_c FROM myTable WHERE column_c IS NOT NULL) 
SELECT @sqlQuery = @sqlQuery + 'column_c, ' 

IF EXISTS (SELECT column_d FROM myTable WHERE column_d IS NOT NULL) 
SELECT @sqlQuery = @sqlQuery + 'column_d, ' 

SELECT @sqlQuery = SUBSTRING(@sqlQuery, 0, LEN(@sqlQuery)) + ' FROM myTable' 

EXECUTE(@sqlQuery) 

는 모든 행의 모든 ​​열은 하나 이상의 열이 선택되어 있는지 검사를 추가해야 null 될 수 있다는 가능한 경우 동적 SQL이 작업을 수행 할 수 있습니다.

관련 문제