用四条SQL吧
否则只有用子查询。

解决方案 »

  1.   

    你的表结构中要是有个字段标识星期就好做多了(用java入库的话很容易),我没有发现oracle中有计算星期的函数。
      

  2.   

    SELECT A.CPRICE,B.OPRICE FROM HISTORY A,HISTORY B WHERE TO_CHAR(A.PNAME,'D') = '1' AND A.PRODUCTID='00000001' AND TO_CHAR(A.PNAME-7,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')
    AND TO_CHAR(B.PNAME,'D') = '2' AND A.PRODUCTID='00000001' AND TO_CHAR(B.PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')
    SELECT MAX(PMAX), MIN(PMIN) FROM HISTORY WHERE PRODUCTID='00000001' AND TO_CHAR(PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')
    这是取本周的,我用了两条.请高手将一条的写出.
      

  3.   

    我用的oracle,计算星期的函数用TO_CHAR(A.PNAME,'D'),1~7是星期天~星期一
      

  4.   

    TO_CHAR(A.PNAME,'D')
    1是星期天
    2是星期一
    TO_CHAR(PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')
    取本周SELECT MAX(a.PMAX), MIN(a.PMIN),CPRICE, OPRICE 
    FROM HISTORY a,
    WHERE TO_CHAR(a.PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')TO_CHAR(A.PNAME,'D') = '1' 
    TO_CHAR(B.PNAME,'D') = '2' 
      

  5.   

    panq先生的:
    SELECT MAX(a.PMAX), MIN(a.PMIN),CPRICE, OPRICE 
    FROM HISTORY a,
    WHERE TO_CHAR(a.PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')TO_CHAR(A.PNAME,'D') = '1' 
    TO_CHAR(B.PNAME,'D') = '2' 
    有问题!行不通
      

  6.   

    seal_kh先生的:
    可不可以加上group by 用来取出每一个星期的呢?
      

  7.   

    SELECT 
      A.CPRICE,
      B.OPRICE,
      c.PMAX,
      F.PMIN
    FROM 
      HISTORY A,
      HISTORY B ,
      history c,
      HISTORY F
    WHERE 
      A.CPRICE IN ( SELECT  CPRICE FROM HISTORY D WHERE   TO_CHAR(D.PNAME,'D') = '1' AND TO_CHAR(D.PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')  )
       AND  B.OPRICE IN ( SELECT  OPRICE FROM HISTORY E  WHERE   TO_CHAR(E.PNAME,'D') = '2'  AND TO_CHAR(E.PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW')  )
      AND C.PMAX IN (SELECT MAX(PMAX) FROM HISTORY WHERE TO_CHAR(PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW'))
      AND F.PMAX IN (SELECT MIN(PMIN) FROM HISTORY WHERE TO_CHAR(PNAME,'YYYYMMW')=TO_CHAR(SYSDATE,'YYYYMMW'))
      

  8.   

    panq() 先生,我把你的SQL copy了一番,可是一条纪录都没有找到。事实上是不对的。我的那张表里已经存放了1年的纪录,而且是每天一条纪录。怎么可能没有结果呢?我正在看,不知道你的SQL那里出了问题
      

  9.   

    我在数据库讨论区也发了同样的问题,其中也有几个回答的很有道理的。大家不防去看看。
    说不定可以解决的更好。
    http://www.csdn.net/expert/topic/227/227030.shtm
    先注明一下:谢谢大家的帮忙,明天来给分!ok?谢谢 seal_kh先生,谢谢panq先生。