当前位置: 代码迷 >> Oracle开发 >> ,写一个查询语句?
  详细解决方案

,写一个查询语句?

热度:11   发布时间:2016-04-24 07:46:07.0
请教高手,写一个查询语句?!
表1   (产品表,id,产品编号,产品名称)
  Id     Product     Name
  1         101               fff
  2         201               bbb

表2(价格表,id,产品Id,起始日期,结束日期,价格)
  Id       ProductId     startDate       endDate       Price
    1         101                 2007-1-1     2007-9-1       500
    2         101                 2007-9-1     2007-10-1     400
    3         201                 2007-1-1     2007-9-1       1500
    4         201                 2007-9-1     2007-10-1     1400

表2,是根据季节来定价的,在9月1至10月1日期间,进行降价促销,那么,要查询产品101在7月至10月间的价格情况,查询语句怎么写?

附:查询结果   如下:
    ProductId     startDate       endDate       Price
      101                 2007-7-1     2007-9-1       500
      101                 2007-9-1     2007-10-1     400

谢谢!



------解决方案--------------------
decode(sign(startdate-to_date( '20070701 ', 'yyyymmdd ')),1,startdate,0,startdate,-1,(to_date( '20070701 ', 'yyyymmdd '))
这句话的意思就是如果是大于或者等于7.1号的就显示当前的STARTDATE
如果小于7.1号的,就显示7.1
不知道你问的
后面的to_date( '20070701 ', 'yyyymmdd ')的时间是不是 '20071001 '?
是什么意思
  相关解决方案