If you are using SQL Server 2005, you can use the Pivot statement.
See the MSDN article .
Here SQL-Server 2005 T-SQL does what you want to do:
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 (' +@listCol +')) AS pvt' EXECUTE (@query)
Jordan arron
source share