看板 Database 關於我們 聯絡資訊
資料庫名稱:MS SQL 資料庫版本:2008 R2 內容/問題描述: 1.資料表如下: OPTD_N -------------- 交易日期 --------------- 2008-01-02 2008-01-03 2008-01-04 2008-01-07 2.希望達成的顯示方式: 交易日期 次一個交易日 --------------------- 2008-01-02 2008-01-03 2008-01-03 2008-01-04 2008-01-04 2008-01-07 2008-01-07 2008-01-08 3.目前解法: SELECT A.交易日期,B.交易日期 AS 次一個交易日 FROM ( SELECT DISTINCT [交易日期], DENSE_RANK() OVER ( ORDER BY [交易日期] ASC) AS R FROM OPTD_N ) AS A LEFT JOIN ( SELECT DISTINCT [交易日期], DENSE_RANK() OVER ( ORDER BY [交易日期] ASC) AS R FROM OPTD_N ) AS B ON A.R = B.R-1 4.請問各位先進有更簡潔快速的寫法嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.80.170.66 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1420774631.A.36E.html ※ 編輯: Marty (111.80.170.66), 01/09/2015 11:38:37
rockchangnew: 可以參考這一篇 http://ppt.cc/vQsp 01/09 15:29