当前位置: 代码迷 >> Oracle管理 >> 求SQL写法:该怎么解决
  详细解决方案

求SQL写法:该怎么解决

热度:62   发布时间:2016-04-24 04:19:59.0
求SQL写法:

求SQL写法:
需求如下,有三张表,分别为tab1(指标字典表),tab1_children (指标采集周期表), tab2(指标数据表),想实现根据指标采集周期表(tab1_children )和指标字典表(tab1),查找指标数据表(tab2)中都那些指标未采集(有的是每个月采集的,有的是每周,有的是每季,有的是每年指定月份)
tab1是存放指标的表,结构如下
t1_id(指标id)        t1_name(指标名)      
  a1                      设备1                      
  a2                      设备2                     
  a3                      设备3                      
  a4                      设备4                      
  a5                      设备5                     

tab1_children  指标采集周期表(存放每个指标具体采集时间,注有的指标每月有多个时间采集,在此表中会有多条记录),结构如下
c_id(表id) c_t1_id(指标id) c_type(采集类型)c_type2(类型2)c_start(开始时间) c_etime(结束时间)
c1        a1               每月                            1                  5  ---代表每月1号至5号采集a1指标
c2        a2               每月                            3                  7  ---代表每月3号至7号采集a2指标    
c3        a3               每季                            1                  10 ---代表每季度1号至10号采集a3指标
c4        a4               每周              周一                                ---代表每周一采集a4指标
c5        a5               每年              4月           1                  15 ---代表每年1月1日至15日采集a5指标
c6        a5               每年              7月           1                  15 ---代表每年7月1日至15日采集a5指标

tab2(指标数据表,即采集过的数据都存放到该表中),结构如下

t2_id              t2_t1_id                     t2_time
  b1                  a1                        2014-04-28
  b2                  a1                        2014-03-10
  b3                  a1                        2014-02-10
  b4                  a2                        2014-03-28
  b5                  a2                        2014-02-28
  相关解决方案