我使用Oracle 11g, PLSQL版本10.0.1集團通過數值
我取了Product_Status每日報告。一旦原始數據到來。我根據原始數據製作數據透視表,並按MS Excel中按日期列的產品銷售進行分組。我想在查詢本身做同樣的事情。
產品銷售日期格式:2014年3月12日上午7點57分27秒
Tbl_Name:tv_productdetails
普通的SQL查詢
下面是詳細的產品樣本查詢:
Select product.id, Product_Sales_Date
from smspadm.tv_productdetails
where
Product_Sales_Date >= TO_DATE('01-april-2014','DD-MON-YYYY')
and Product_Sales_Date < TO_DATE('04-april-2014','DD-MON-YYYY')
and product_status in('active')
預期產出將爲:
product.id 1-Apr 2-Apr 3-Apr 4-Apr Grandtotal
A011 89 89 89 89 356
B055 85 85 85 85 340
C055 78 78 78 78 312
D011 98 98 98 98 392
E897 45 45 45 45 180
我只需要兩列Product.id,Product_Sales_Date按銷售日期對數據進行分組。 下面是樣本數據:
Product.id Product_Sales_Date
A001 4/12/2014 3:38:00 PM
A002 4/13/2014 3:38:00 PM
A003 4/14/2014 11:34:34 AM
A004 4/15/2014 12:56:52 PM
A001 4/16/2014 10:54:58 AM
A002 4/17/2014 9:01:19 AM
A003 4/18/2014 12:56:52 PM
A004 4/19/2014 3:38:00 PM
A005 4/20/2014 1:07:49 PM
A006 4/21/2014 3:02:14 PM
A004 4/22/2014 10:55:54 AM
A005 4/23/2014 3:16:28 PM
A006 4/24/2014 8:46:48 AM
A007 4/25/2014 3:53:32 PM
A008 4/26/2014 7:57:27 AM
根據您所描述的,您可以使用PIVOT。請提供一些示例數據,以便我們可以處理它。 – Avrajit
更新示例數據.. – user3497327
您需要使用Dynamic PIVOT。 – AK47