select t1.STARTDATE + ' - ' + t1.ENDDATE + ' ' +
t1.STARTTIME + ' - ' + t1.ENDTIME
from A t1 inner join B t2 on
t2.STARTDATE + t2.STARTTIME between t1.STARTDATE + t1.STARTTIME and
t1.ENDDATE + t1.ENDTIME and
t2.ENDDATE + t2.ENDTIME between t1.STARTDATE + t1.STARTTIME and
t1.ENDDATE + t1.ENDTIME
group by t1.STARTDATE,t1.STARTTIME,t1.ENDDATE,t1.ENDTIME,t2.STARTDATE
ps. 如果 table A 遇到凌晨整點答案可能會錯:
Ex: 2015-11-12 08:00 2015-11-13 00:00 (X)
Ex: 2015-11-12 08:00 2015-11-12 24:00 (O)
※ 引述《bernachom (Terry)》之銘言:
: 資料庫名稱:MS 2008R2
: 資料庫版本: 2008R2
: 內容/問題描述:
: 不好意思,最近處理比較多SQL上的問題,頭腦都有點打結了。
: 我有一個主檔
: TABLE A
: 裡面有時間欄位如下:
: STARTDATE STARTTIME ENDDATE ENDTIME
: 2015-11-12 08:00 2015-11-13 17:00
: 然後還有一個明細欄位
: TABLE B,裡面就會記錄每個小時的拆解
: STARTDATE STARTTIME ENDDATE ENDTIME
: 2015-11-12 08:00 2015-11-12 09:00
: 2015-11-12 09:00 2015-11-12 10:00
: .
: .
: .
: .
: 2015-11-13 16:00 2015-11-13 17:00
: 請教一下,我該如何做才能顯示
: [2015-11-12 - 2015-11-13 08:00 - 17:00]
: 重複顯示2次呢?
: 因為他有兩天 12和13
: 假設,日期是12號到16號,就會顯示5次
: ,組了半天,組到頭腦打結了,還麻煩指導了,謝謝幫忙。