作者garko (garko)
看板Database
标题[SQL ] Access-判断是否介於两个栏位间的时间
时间Thu Mar 24 18:07:03 2016
资料库名称:access
资料库版本:2010
内容/问题描述:
软体:access
版本:2010
如题
我现在有两个Table
一个是 table a
名称 时间
A 2015/1/3 15:20:20
A 2015/1/5 17:06:15
A 2015/1/8 05:09:13
A 2015/1/8 07:10:10
B 2015/1/4 11:21:30
B 2015/1/7 19:09:19
B 2015/1/8 08:15:55
C 2015/1/3 14:21:50
C 2015/1/8 09:10:01
C 2015/1/9 01:05:22
另一个table B,开始时间与结束时间并没有一定的规则
名称 开始时间 结束时间
A 2015/1/3 12:58:20 2015/1/3 18:01:11
A 2015/1/3 18:11:30 2015/1/3 23:06:44
A 2015/1/4 13:38:20 2015/1/4 17:05:31
A 2015/1/8 03:11:30 2015/1/8 10:44:22
A 2015/1/8 06:05:11 2015/1/8 11:30:30
B 2015/1/4 10:15:31 2015/1/4 18:07:42
B 2015/1/7 10:50:21 2015/1/3 16:09:12
B 2015/1/8 04:11:30 2015/1/8 10:45:11
C 2015/1/3 12:58:20 2015/1/3 18:01:11
C 2015/1/8 04:11:30 2015/1/8 10:47:08
C 2015/1/8 22:11:22 2015/1/9 03:56:01
我想要比对出 TABLE A中 每一列的时间有没有介於
TABLE B中任一列的开始时间与结束时间
产出一个TABLE C
任一列的的时间区间内,若有,则在TABLE C的第三栏
填入开始时间,如下
TABLE C
名称 时间 开始时间
A 2015/1/3 15:20:20 2015/1/3 12:58:20
A 2015/1/5 17:06:15
A 2015/1/8 05:09:13 2015/1/8 03:11:30
A 2015/1/8 07:10:10 2015/1/8 06:05:11
B 2015/1/4 11:21:30 2015/1/4 10:15:31
B 2015/1/7 19:09:19
B 2015/1/8 08:15:55 2015/1/8 04:11:30
C 2015/1/3 14:21:50 2015/1/3 12:58:20
C 2015/1/8 09:10:01 2015/1/8 04:11:30
C 2015/1/9 01:05:22 2015/1/8 22:11:22
备注:
1
table a & table b都有几十万笔
名称大概有上万种,每个名称在table b可能有1~100列不等
2
有可能有两个以上的名称,有相同的开始时间,但却有不同的结束时间,
但也有可能有相同的结束时间(例如TABLE B的第一个A与第一个C,
开始结束都是一样的,但第三个B与第二个C的开始时间一样,
但结束时间不一样)
3
结束时间有可能跟开始时间是不同日期的(例如C的第三个开始时间)
4
最让我伤脑的一点条件,TABLE B中的第3列与第4列,时间是重叠的
TABLE A的第4列,同时符合TABLE B的第3列与第4列
这时,要以最接近的开始时间为准,所以TABLE A的第4列
他的开始时间要是TABLE B的第4列
再拜托高手帮忙教一下罗
谢谢
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.139.180.61
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1458814025.A.5DF.html
※ 编辑: garko (101.139.180.61), 03/24/2016 18:18:34
※ garko:转录至看板 Office 03/24 18:18
※ 编辑: garko (101.139.180.61), 03/24/2016 18:21:06