[SQL ] Pivot的應用
資料庫名稱:MS SQL
資料庫版本:2005
內容/問題描述:
各位前輩大家好,我有一個關於Pivot的應用想要請教大家
我想要應用客戶的訂單週期去算下次的預估交易時間
我的想法是a.去抓某客戶的最近三筆訂單成立時間
b.PIVOT轉成橫式算出交易週期
c.最後一筆訂單加上交易週期算出下次預估交易時間
目前a的部分已經可以抓出來了,SQL語法如下
SELECT T1.[CardCode],T1.[CardName],T1.[DocDate] FROM ORDR T1
WHERE ( SELECT COUNT(*) FROM ORDR
WHERE [CardCode] = T1.[CardCode] and [DocNum] >= T1.[DocNum]
) <= 5
ORDER BY [CardCode],[DocNum] ASC
輸出結果類似如下:
客戶代碼 客戶名稱 交易日期
ABC123 大同科技 2016-05-10
ABC123 大同科技 2016-06-12
ABC123 大同科技 2016-07-15
DEF456 世界實業 2015-06-05
DEF456 世界實業 2015-12-10
DEF456 世界實業 2016-03-12
GHI789 華連化工 2016-03-01
GHI789 華連化工 2016-05-01
希望能用PIVOT轉成如下格式
客戶代碼 客戶名稱 交易日1 交易日2 交易日3
ABC123 大同科技 2016-05-10 2016-06-12 2016-07-15
DEF456 世界實業 2015-06-05 2015-12-10 2016-03-12
GHI789 華連化工 2016-03-01 2016-05-01 NULL
但是我不太懂PIVOT如何應用,想要請教各位前輩要如何轉成如上所需橫式格式
最終希望格式能如下
客戶代碼 客戶名稱 最後交易日 交易週期 預估下次交易日
ABC123 大同科技 2016-07-15 33 2016-08-17
DEF456 世界實業 2016-03-12 141 2016-07-30
GHI789 華連化工 2016-05-01 61 2016-07-01
應該還會有交易不滿三筆時,最後交易日要怎麼抓,不要抓NULL
然後怎麼正確算出週期的問題
先請教如何PIVOT轉橫是後續我再來試試看好了,多謝各位指教
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.125.247.98
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1471837011.A.71B.html
→
08/22 14:09, , 1F
08/22 14:09, 1F
Database 近期熱門文章
PTT數位生活區 即時熱門文章