2009-12-22 6 views
1

데이터베이스 행을 열로 변환하고 결과를 Gridview에 표시해야합니다.데이터베이스 행을 열로 변환

ID Hotel cDate     Price 
----------------------------------------------- 
1 Hotel1 12/22/2009 12:00:00 AM 15.0000 
2 Hotel2 12/22/2009 12:00:00 AM 25.0000 
3 Hotel3 12/22/2009 12:00:00 AM 60.0000 
4 Hotel4 12/22/2009 12:00:00 AM 55.0000 
. 
. 
. 

나는 아래와 같은 결과를 표시했습니다 :

cDate     Hotel1 Hotel2 Hotel3 Hotel4 
12/22/2009 12:00:00 PM 15  25  60  55 
12/22/2009 12:00:00 AM ..  ..  ..  .. 
12/22/2009 12:00:00 AM 
12/22/2009 12:00:00 AM 

답변

2

당신이 다음 피벗 연산자를 사용하여 SQL 서버 2005을 사용하는 경우 다음과 같이 내 DB이다.

See this MSDN article. 여기

는 SQL 서버 당신이하고 싶은 일을하기 위해 2005 T-SQL을이다 :

DECLARE @listCol VARCHAR(2000) 
DECLARE @query VARCHAR(4000) 
SELECT @listCol = STUFF((SELECT DISTINCT 
           '],[' + Hotel 
         FROM dbo.tblHotels 
         ORDER BY '],[' + Hotel 
         FOR XML PATH('') 
            ), 1, 2, '') + ']' 

SET @query = 
'SELECT * FROM 
     (SELECT cDate,Hotel,price 
      FROM dbo.tblHotels) p 
PIVOT (SUM(price) FOR Hotel 
IN ('[email protected]+')) AS pvt' 

EXECUTE (@query) 
관련 문제