0
我有絕對最差的時間試圖將計劃部分列表合併到開始和結束時間匹配的更簡潔列表中。下面的代碼是針對一個時間表的,代碼是當時對用戶發生的事情的參考。TSQL - 根據連續的計劃部分創建合併計劃
任何想法將不勝感激!
declare @t as table (code int, dtDate DateTime, dtStart DateTime, dtEnd DateTime)
insert into @t values
(46,'2017-01-23','2017-01-23 06:00','2017-01-23 14:45'),
(127,'2017-01-23','2017-01-23 07:30','2017-01-23 08:00'),
(127,'2017-01-23','2017-01-23 08:00','2017-01-23 08:15'),
(127,'2017-01-23','2017-01-23 08:15','2017-01-23 10:00'),
(76,'2017-01-23','2017-01-23 10:00','2017-01-23 10:45'),
(127,'2017-01-23','2017-01-23 10:45','2017-01-23 13:00'),
(127,'2017-01-23','2017-01-23 13:00','2017-01-23 13:15'),
(127,'2017-01-23','2017-01-23 13:15','2017-01-23 14:30')
select * from @t
-- Current Output
code dtDate dtStart dtEnd
----------- ----------------------- ----------------------- -----------------------
46 2017-01-23 00:00:00.000 2017-01-23 06:00:00.000 2017-01-23 14:45:00.000
127 2017-01-23 00:00:00.000 2017-01-23 07:30:00.000 2017-01-23 08:00:00.000
127 2017-01-23 00:00:00.000 2017-01-23 08:00:00.000 2017-01-23 08:15:00.000
127 2017-01-23 00:00:00.000 2017-01-23 08:15:00.000 2017-01-23 10:00:00.000
76 2017-01-23 00:00:00.000 2017-01-23 10:00:00.000 2017-01-23 10:45:00.000
127 2017-01-23 00:00:00.000 2017-01-23 10:45:00.000 2017-01-23 13:00:00.000
127 2017-01-23 00:00:00.000 2017-01-23 13:00:00.000 2017-01-23 13:15:00.000
127 2017-01-23 00:00:00.000 2017-01-23 13:15:00.000 2017-01-23 14:30:00.000
-- Expected Output
code dtDate dtStart dtEnd
----------- ----------------------- ----------------------- -----------------------
46 2017-01-23 00:00:00.000 2017-01-23 06:00:00.000 2017-01-23 14:45:00.000
127 2017-01-23 00:00:00.000 2017-01-23 07:30:00.000 2017-01-23 10:00:00.000
76 2017-01-23 00:00:00.000 2017-01-23 10:00:00.000 2017-01-23 10:45:00.000
127 2017-01-23 00:00:00.000 2017-01-23 10:45:00.000 2017-01-23 14:30:00.000
解釋你的邏輯。請閱讀[** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t這裏是[** START **](http ://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/),瞭解如何提高您的問題質量並獲得更好的答案。 –