2016-12-19 1 views
-1

임에에에 의해 내가 어떻게 할 수있는 결과 집합 형식을SQL 그룹 별도의 결과 테이블 보고서를 만드는 과정에서

Department | Zone 

IT   | 1 

EmployeeName 

Joseph 

Jashua 



Department | Zone 

IT   | 2 


EmployeeName 

John 

Jingle 


Department | Zone 

IT   | 3 


EmployeeName 

Jack 

James 



Department | Zone 
HR   | 4 

EmployeeName 

Sam 

Signa 



Department | Zone 

HR   | 5 


EmployeeName 

Sid 

Sal 


Department | Zone 

HR   | 6 


EmployeeName 

Steve 

Stephen 

다음에 있어야

EmployeeName | Department | Zone | 

Joseph  | IT  | 1 | 

Jack   | IT  | 3 | 

John   | IT  | 2 | 

James  | IT  | 3 | 

Jashua  | IT  | 1 | 

Jingle  | IT  | 2 | 

Sam   | HR  | 4 | 

Sid   | HR  | 5 | 

Steve  | HR  | 6 | 

Sal   | HR  | 5 | 

Stephen  | HR  | 6 | 

Signa  | HR  | 4 | 

아래 같은 테이블이 이걸 달성 할까? 감사합니다

답변

1

SQL select 문의 결과는 항상 테이블 (또는 단일 값)이지만 동적 테이블 세트는 아닙니다. 나는 결과가 단일 테이블이기 때문에, 당신은 어떤 구분 부서 또는 영역의 변화를 필요가 없습니다, SQL에서

select department, zone, employename 
from my table 
order by department, zone 

같은 쿼리를 사용하는 것이 좋습니다 것입니다. 그러나 다른 프로그래밍 언어를 사용하여 보고서를 생성하는 경우 결과를 살펴보고 부서 및 영역의 변경 사항을 관찰하고 수평선을 입력 할 수 있습니다. 이 같이 볼 수 있었다 의사에

은 다음과 같습니다

prevDept=''; 
prevZone=''; 
while (hasNextRecord())) 
{ 
    record = getNextRecord(); 
    if (prevDept <> record.department OR prevZone <> record.zone) 
    writeHorizontalLine(); 
    prevDept = record.departnemt; 
    prevZone = record.zone; 
}