【发布时间】:2014-03-02 00:32:38
【问题描述】:
我需要一些关于 PIVOT 表或其他东西的帮助才能以我需要的方式获得结果。
我有一张这样的桌子。
+---------------+--------------+----------+-----------+---------------+-----------------------------------------+-----------------+---------------+------------------+----------+-------+------------+--------------+------------+-------------------+----------------+----------+-------------------+
| Client_Id | Project_Id | Hotel_Id | Room_Type | Room_Category | Allotment_Date | Number_Of_Rooms | Number_Booked | Number_Available | Overbook | Price | Dep_Amount | Full_Payment | Admin_Only | HotelAllotment_Id | Price_Excl_VAT | VAT_Code | Charge_Dep_Amount |
+---------------+--------------+----------+-----------+---------------+-----------------------------------------+-----------------+---------------+------------------+----------+-------+------------+--------------+------------+-------------------+----------------+----------+-------------------+
| DEFAULT | TEMPLATE | 2423 | 276 | | 2010-12-05 00:00:00 | 99999 | 1 | 99998 | 0 | 33000 | 0 | 1 | 0 | 279611 | 0 | | 0 |
| DEFAULT | TEMPLATE | 2423 | 276 | | 2010-12-06 00:00:00 | 99999 | 1 | 99998 | 0 | 33000 | 0 | 1 | 0 | 279612 | 0 | | 0 |
| DEFAULT | TEMPLATE | 2423 | 276 | | 2010-12-07 00:00:00 | 99999 | 1 | 99998 | 0 | 33000 | 0 | 1 | 0 | 279613 | 0 | | 0 |
| DEFAULT | TEMPLATE | 2424 | 276 | | 2010-12-05 00:00:00 | 99999 | 1 | 99998 | 0 | 22000 | 22000 | 0 | 0 | 279590 | 0 | | 0 |
| DEFAULT | TEMPLATE | 2424 | 276 | | 2010-12-06 00:00:00 | 99999 | 1 | 99998 | 0 | 22000 | 22000 | 0 | 0 | 279591 | 0 | | 0 |
| DEFAULT | TEMPLATE | 2424 | 276 | | 2010-12-07 00:00:00 | 99999 | 1 | 99998 | 0 | 22000 | 22000 | 0 | 0 | 279592 | 0 | | 0 |
+---------------+--------------+----------+-----------+---------------+-----------------------------------------+-----------------+---------------+------------------+----------+-------+------------+--------------+------------+-------------------+----------------+----------+-------------------+
我需要这样显示数据,以获取列中的日期和每天预订的数量。
+---------------+--------------+----------+-----------+---------------+------------+------------+--------------+
| Client_Id | Project_Id | Hotel_Id | Room_Type | Room_Category | 2010-12-05 | 2010-12-06 | 2010-12-07 |
+---------------+--------------+----------+-----------+---------------+------------+------------+--------------+
| DEFAULT | TEMPLATE | 2423 | 276 | | 1 | 1 | 1 |
| DEFAULT | TEMPLATE | 2424 | 276 | | 1 | 1 | 1 |
+---------------+--------------+----------+-----------+---------------+------------+------------+--------------+
我需要将其按 Hotel_Id、Room_Type 和 Room_Category(如果有)分组
我需要它是动态的,因为日期可能会改变。
我尝试使用简单的数据透视表,但没有成功。
任何帮助都会很棒。
【问题讨论】:
标签: sql-server-2008 stored-procedures pivot dynamic-sql