现在有两张表,
key 名称 周期(小时) 开始时间 完成时间
0_ zzzz 160 2002-1-18 2002-1-20
1_ yyyy 40 2002-1-16 2002-1-18
10_ pppp 208 2002-1-9 2002-1-10
11_ oooo 64 2002-1-14 2002-1-16
12_ nnnn 184 2002-1-9 2002-1-10
13_ mmmm 240 2002-1-13 2002-1-14
14_ llll 240 2002-1-10 2002-1-10
15_ kkkk 200 2002-1-10 2002-1-10
16_ jjjj 200 2002-1-10 2002-1-10
17_ iiii 168 2002-1-17 2002-1-20
18_ hhhh 168 2002-1-9 2002-1-10
19_ gggg 80 2002-1-16 2002-1-16
2_ xxxx 56 2002-1-15 2002-1-16
20_ ffff 208 2002-1-16 2002-1-16
21_ eeee 192 2002-1-16 2002-1-16
22_ dddd 120 2002-1-16 2002-1-16
23_ cccc 144 2002-1-16 2002-1-16
24_ bbbb 240 2002-1-16 2002-1-18
25_ aaaa 120 2002-1-21 2002-1-25
3_ wwww 64 2002-1-10 2002-1-15
4_ vvvvv 64 2002-1-16 2002-1-16
5_ uuuu 320 2002-1-9 2002-1-10
6_ tttt 56 2002-1-16 2002-1-16
7_ ssss 56 2002-1-10 2002-1-13
8_ rrrr 120 2002-1-3 2002-1-10
9_ qqqq 208 2002-1-9 2002-1-10
par key
19_ 0_
5_ 1_
8_ 2_
0_ 3_
0_ 4_
22_ 5_
23_ 6_
23_ 7_
24_ 8_
24_ 9_
24_ 10_
0_ 11_
24_ 12_
24_ 13_
24_ 14_
24_ 15_
24_ 16_
24_ 17_
24_ 18_
24_ 19_
24_ 20_
24_ 21_
25_ 22_
25_ 23_
25_ 24_
end_ 25_
key 名称 周期(小时) 开始时间 完成时间
0_ zzzz 160 2002-1-18 2002-1-20
1_ yyyy 40 2002-1-16 2002-1-18
10_ pppp 208 2002-1-9 2002-1-10
11_ oooo 64 2002-1-14 2002-1-16
12_ nnnn 184 2002-1-9 2002-1-10
13_ mmmm 240 2002-1-13 2002-1-14
14_ llll 240 2002-1-10 2002-1-10
15_ kkkk 200 2002-1-10 2002-1-10
16_ jjjj 200 2002-1-10 2002-1-10
17_ iiii 168 2002-1-17 2002-1-20
18_ hhhh 168 2002-1-9 2002-1-10
19_ gggg 80 2002-1-16 2002-1-16
2_ xxxx 56 2002-1-15 2002-1-16
20_ ffff 208 2002-1-16 2002-1-16
21_ eeee 192 2002-1-16 2002-1-16
22_ dddd 120 2002-1-16 2002-1-16
23_ cccc 144 2002-1-16 2002-1-16
24_ bbbb 240 2002-1-16 2002-1-18
25_ aaaa 120 2002-1-21 2002-1-25
3_ wwww 64 2002-1-10 2002-1-15
4_ vvvvv 64 2002-1-16 2002-1-16
5_ uuuu 320 2002-1-9 2002-1-10
6_ tttt 56 2002-1-16 2002-1-16
7_ ssss 56 2002-1-10 2002-1-13
8_ rrrr 120 2002-1-3 2002-1-10
9_ qqqq 208 2002-1-9 2002-1-10
par key
19_ 0_
5_ 1_
8_ 2_
0_ 3_
0_ 4_
22_ 5_
23_ 6_
23_ 7_
24_ 8_
24_ 9_
24_ 10_
0_ 11_
24_ 12_
24_ 13_
24_ 14_
24_ 15_
24_ 16_
24_ 17_
24_ 18_
24_ 19_
24_ 20_
24_ 21_
25_ 22_
25_ 23_
25_ 24_
end_ 25_
有两张表,
第一个是数据表,第二个是关系表,
第二个表中的 key 为 25_ 是最高层,它的下一层是24_,23_,22,再下一层是12_~21_ 以此类推
如果给出了,表1中 25_的完成时间的话,需要根据表2中的关系,算出表1中所有行的开始时间与完成时间
例如,我给出了25_ 的完成时间为2010-4-29,那么表1中的 25_的开始时间为 (2010-4-29)-120/8=2010-4-14,那么它的下一层24_,23_,22_的完成时间就是2010-4-13(时间是往前推的) 再根据各自的周期算出各自的开始时间,再根据它们的开始时间算出 12_~21_的完成时间,还有它们的开始时间,以此类推,算出表中所有的行的开始时间和完成时间。不知道这回说明白了没有?
问题1 表里的 ID 小时 开始时间 结束时间 字段,其实已经都有了,算它干吗?
问题2 表里的值会变吗? 如果不变的话,只要达到目的,写个sql 或 prc 先全部计算一遍。以后随便你怎么查不就行了?
*
from tablename
start with
connect by 具体的自己去查询吧
0_ zzzz 160 2002-1-18 2002-1-20
1_ yyyy 40 2002-1-16 2002-1-18
相同的日期间隔 周期怎么不一样
开始时间、完成时间 跟周期有关系吗?我还是没看懂
你好歹用个两个表能对应起来的数据