2010-08-19 5 views
4

DateTime,의 열이있는 테이블이 있습니다. 날짜가 열로 표시되도록 datetime 열을 피벗하고 싶습니다 (월요일 요일 , 화요일 등).SQL Server에서 Pivot을 사용하여 날짜를 요일로 표시

그래서 예를 들어 나는이 같은 테이블 (방법 SQL 서버 디스플레이 전체 날짜 시간 기억할 수없는하지만 당신은 아이디어를 얻을)이 있습니다

BugNo | DateOpened | TimeSpent 

1234 | 16/08/2010 | 1.0 
4321 | 16/08/2010 | 3.5 
9876 | 17/08/2010 | 1.5 
6789 | 18/08/2010 | 7.0 
6789 | 19/08/2010 | 6.5 
6789 | 20/08/2010 | 2.5 

가 나는를 만들 DateOpened 열을 선회하고 싶습니다 이

|TimeSpentOnBugByDay| Mon | Tue | Wed | Thu | Fri | Sat | Sun 
1234     1 
4321     3.5 
9876       1.5 
6789         7.0 
6789           6.5 
6789            2.5 

같은 결과 집합 내가 한 번에 하나의 주 검색 할 것이라는 점을 지적한다.

이것이 가능한지 확신 할 수 없지만 이전에 이렇게 쓰는 것을 본적이 있습니다.

+1

왜 "SQL 서버"와 "피벗"로 태그 다른 질문을 보지 할 수 있습니까? –

+0

안녕하세요, 시도했지만이 구체적으로 찾을 수 없으며 다른 예제에서 필요한 것을 얻을 수 있습니다. – bplus

답변

4

이이

SELECT BugNo, [Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday], [Sunday] 
FROM (
    SELECT BugNo, DATENAME(dw, DateOpened) AS DayWeek, TimeSpent 
    FROM Bugs 
    ) AS src 
    pivot (
     SUM(TimeSpent) FOR DayWeek IN ([Monday], [Tuesday], [Wednesday], [Thursday], [Friday], [Saturday], [Sunday]) 
    ) AS pvt 
+0

고마워, 그게 내가 찾고 있었던 바로 그거야. – bplus

관련 문제