这应该要用存储过程来实现!因为里面存在几中情况,SQL语句完成不了

解决方案 »

  1.   

    select 姓名,计划类别,计划内容 from t1 where 姓名='小刘' and  开始日期<=yourinputdate and 结束日期>=yourinputdate
      

  2.   

    假设:
    表名:t_plan
    姓名,计划类别(正常计划/临时计划),开始日期,结束日期,计划内容
    name, plantype,                    startdate,enddate,planmemoSQL语句如下:
    select planmemo 
    from t_plan 
    where name = '小刘' and startdate >= 2003-08-03 and enddate <= 2003-08-03;当然你可以修改成过程之类的
      

  3.   

    hdkkk(diablo2) 的方法是正确的sorry ,时间写错了select planmemo 
    from t_plan 
    where name = '小刘' and startdate <= 2003-08-03 and enddate >= 2003-08-03;
      

  4.   

    select 姓名,计划内容 from table where 姓名='小刘' and  开始日期<=inputdate and 结束日期>=inputdate;不知道是不是理解错了你的意思,这也不是什么统计呀
      

  5.   

    重新整理后:
    开发环境:oracle8.0.5
    数据库字段及内容,如下所示:姓名,计划类别(正常计划/临时计划),开始日期,结束日期,计划内容
    ----------------------------------------------------------------------
    小刘  正常计划                       8。1      8。31     学习C++
    小刘  临时计划                       8。5      8。9      学习JAVA
    小刘  临时计划                       8。7      8。12     学习C#小张  正常计划                       8。1      8。31     学习VB
    小张  临时计划                       8。4      8。10     学习VC
    小张  临时计划                       8。8      8。15     学习JAVA工作计划:只有两种可能:正常的计划,和,临时的计划。
    正常的计划:是按月来作的。就是:自然月。每个月只有一条:从月初到月底。
    临时的计划,就是在本月内不限时间的计划。如何:输入一个日期,得出所有人的计划:比如:输入8。3:
    姓名,计划类别(正常计划/临时计划),计划日期,计划内容
    ----------------------------------------------------------------------
    小刘  正常计划                       8。3      学习C++
    小张  正常计划                       8。3      学习VB比如:输入8。6:
    姓名,计划类别(正常计划/临时计划),计划日期,计划内容
    ----------------------------------------------------------------------
    小刘  临时计划                       8。6      学习JAVA
    小张  临时计划                       8。6      学习VC如果,只有一个人时,解决办法如下:
      select * from 
        (select * from t1 where name='小刘' and plan_date between start_date and end_date 
           order by plan_date desc)
      where rownum = 1但是,多个人时,再用上述方法,就会只有一条记录。如何得出每个人的计划?谢谢。
      

  6.   

    重新整理后:
    开发环境:oracle8.0.5
    数据库字段及内容,如下所示:姓名,计划类别(正常计划/临时计划),开始日期,结束日期,计划内容
    ----------------------------------------------------------------------
    小刘  正常计划                       8。1      8。31     学习C++
    小刘  临时计划                       8。5      8。9      学习JAVA
    小刘  临时计划                       8。7      8。12     学习C#小张  正常计划                       8。1      8。31     学习VB
    小张  临时计划                       8。4      8。10     学习VC
    小张  临时计划                       8。8      8。15     学习JAVA工作计划:只有两种可能:正常的计划,和,临时的计划。
    正常的计划:是按月来作的。就是:自然月。每个月只有一条:从月初到月底。
    临时的计划,就是在本月内不限时间的计划。如何:输入一个日期,得出所有人的计划:比如:输入8。3:
    姓名,计划类别(正常计划/临时计划),计划日期,计划内容
    ----------------------------------------------------------------------
    小刘  正常计划                       8。3      学习C++
    小张  正常计划                       8。3      学习VB比如:输入8。6:
    姓名,计划类别(正常计划/临时计划),计划日期,计划内容
    ----------------------------------------------------------------------
    小刘  临时计划                       8。6      学习JAVA
    小张  临时计划                       8。6      学习VC如果,只有一个人时,解决办法如下:
      select * from 
        (select * from t1 where name='小刘' and plan_date between start_date and end_date 
           order by plan_date desc)
      where rownum = 1但是,多个人时,再用上述方法,就会只有一条记录。如何得出每个人的计划?谢谢。