2009. 10. 24. 09:12
출처 -- http://www.mcpworld.com/eseminar/seminar_list.asp
PIVOT
행을 컬럼으로 변환함
Access의 TRANSFORM과 유사함
OLAP 에서 유용하게 활용 가능함
UNPIVOT
PIVOT의 반대 연산자
APPLY
CROSS APPLY
OUTER APPLY
1.. PIVOT
|
Make |
Year |
Sales |
|
Honda |
1990 |
2000 |
|
Honda |
1990 |
1000 |
|
Acura |
1990 |
500 |
|
Honda |
1991 |
3000 |
|
Acura |
1991 |
300 |
|
Acura |
1991 |
600 |
|
Acura |
1992 |
800 |
SELECT * FROM CarSales
PIVOT(SUM(Sales)
FOR Year IN ([1990],[1991]))t
|
Make |
1990 |
1991 |
|
Honda |
3000 |
3000 |
|
Acura |
500 |
900 |
2.. UNPIVOT
|
Make |
Year |
Sales |
|
Acura |
1990 |
500 |
|
Acura |
1991 |
900 |
|
Honda |
1990 |
3000 |
|
Honda |
1991 |
3000 |
SELECT Make,t.Year,t.Sales
FROM CarSalesPivot UNPIVOT
(Sales for Year in ([1990], [1991])) t
|
Make |
1990 |
1991 |
|
Honda |
3000 |
3000 |
|
Acura |
500 |
900 |
3.. APPLY
|
Name |
ZipCode |
|
Redmond |
98052 |
|
Sammamish |
98074 |
SELECT *
FROM Cities
CROSS APPLY
GetVertices(ZipCode)
|
Name |
Zip COde |
X |
Y |
|
Redmond |
98052 |
13.5 |
23.6 |
|
Redmond |
98052 |
14.0 |
22.6 |
|
Sammamish |
98074 |
12.5 |
24.5 |
|
Sammamish |
98074 |
11.9 |
23.9 |
[출처] SQL Server 2005 TSQL - 3. 새로운 관계형 연산자 |작성자 선경
