本帖最后由 blackkettle 于 2010-03-18 11:23:36 编辑

解决方案 »

  1.   

    循环Table1 计算出相差的天数
    插入Table12
      

  2.   

    select t.*,
           lead(login_date, 1, trunc(sysdate)) over(partition by popt_id order by login_date) - login_date days
      from table1 t
      

  3.   

    如果login_date是字符型的,用to_date函数转换一下
      

  4.   

    使用分析函数
    lead(字段名,后面第几条(默认为1),没有后继值的默认值(默认为空)) over (partition by 分组字段名
    order by 排序字段名)lag(字段名,前面第几条(默认为1),没有前趋值的默认值(默认为空)) over (partition by 分组字段名
    order by 排序字段名)更多可参考:
    http://blog.csdn.net/chenggong1220/archive/2009/06/12/4263518.aspx
    http://www.itpub.net/viewthread.php?tid=1199212
      

  5.   

    select t.*,
           lead(login_date, 1, trunc(sysdate)) over(partition by popt_id order by login_date) - login_date days
      from table1 t