2013-04-23 2 views
0

결과 집합을 표로 출력 할 수 있습니까? 예를 들어 I 출력을 위해 다음과 같은 결과 집합을 사용하여 SQL :SQL 결과를 모눈/단일 행으로 출력하면 여러 행이 반환됩니다.

col1 col2 col3 col4 col5 col6 col7 col8 col9 
10  23  54  12  23  45  56  24  2 

대신 하나 개의 긴 행을 형성하는 출력의 난으로 출력을 얻을하는 데 사용할 수있는 기능이있다 : 그래서

col1 col2 col3 
10  23  54 
12  23  45 
56  24  2 

나 '는 기본적으로 3 열마다 결과 행을 분리합니다.

출력은 조인 된 SQL 테이블의 데이터에 대해 수행 된 다양한 계산의 조합으로 인해 차이가 발생할 수 있습니다.

+0

어떤이있는 경우 10 열, 즉 col10뿐만 아니라? 그래서 col2와 col3은 null이 될까요? – TechDo

+0

안녕하세요 @techdo 실제 예제에서 이것은 17x17 그리드가되고 어떤 null 값도 없을 것입니다. 행과 열이 고정됩니다. – Matt

답변

2

분할 할 열을 수동으로 정의하는 데 신경 쓰지 않고 형식을 고정 된 상태로 유지하려는 경우 CROSS APPLY ... VALUES을 사용하여 데이터를 unpivot 할 수 있습니다. 예 :

SELECT c.Col1, c.Col2, c.Col3 
FROM T 
     CROSS APPLY 
     ( VALUES 
       (Col1, Col2, Col3), 
       (Col4, Col5, Col6), 
       (Col7, Col8, Col9) 
     ) c (Col1, Col2, Col3); 

Example on SQL Fiddle

+0

굉장한 감사합니다! – Matt

관련 문제