2013-07-23 2 views
2

해결할 수없는 문제가 있습니다. 나는 마이크로 소프트 SQL Server 2008에서 일을하고 나는 네 개의 열SQL Server 2008 : 동적 열 이름 만들기

Id 
Date (2013-07, 2013-08, 2011-03, etc) 
Amount 1 (100, 150, etc.) 
Amount 2 (100, 80, etc.) 

Amount 1 > 150 그때 나는 열 이름으로 Date의 값에 새 열을 만들고 6 (일) 기간을 시작으로 Amount 2을 배포해야하는 경우가있는 테이블이 월 이후 Date 값.

은 다음과 같아야합니다

 Id Date  Amount 1 Amount 2 
     ---------------------------------- 
     1 2013-07 160   60 
     2 2013-10 180   80        

     Id Date  Amount 1 2013-08 2013-09 2013-10 2013-11 2013-12 2014-01 ... 
     -------------------------------------------------------------------------------- 
     1 2013-07 160   10  10  10   10  10  10 
     2 2013-10 180          20  20  20... 

나는이 작업을 수행하는 방법을 모르고 어떤 도움은 매우 감사합니다! 고맙습니다!

답변

1

비정규 화 테이블 구조이므로 테이블 자체에 이러한 추가 열이 있으면 안됩니다. 그것은 많은 경우에 데이터를 저장하는 나쁜 방법입니다. 그러나 원하는 형식으로 추가 열을 반환하는 기존 테이블에 대해 쉽게 쿼리를 수행 할 수 있으므로 이렇게 표시 할 수 있습니다. PIVOT and UNPIVOT을 확인하십시오.

+0

실제로 쿼리를 수행하려고하지만 동적으로 열 이름을 반환하는 방법을 모르겠습니다. 나는 피벗을 시도하고 unpivot 그러나 나는 그것을 작동시킬 수 없습니다. 예를 들어 주시겠습니까? 고맙습니다! – user2561907