int PrimaryKey
DateTime Date
int Price
我想这样做的是通过在开始和结束日期,并获得一系列
从:
最大日期小于或等于开始除非没有这样的日期,在这种情况下,范围的开始应该是可用的最低日期。
要:
的结束日期。
我的查询到目前为止是:
SELECT Date, Price
FROM table1
WHERE Date <= $end
AND Date >=
(
SELECT Date
FROM table1
WHERE Date <= $start
ORDER BY Date DESC
LIMIT 1
)
子查询得到小于或等于起始值,然后将其用作用于主查询范围的低端最大日期。在那里获得'UNLESS'条款的任何建议?
例如,给定的日期表:
Jan 1, 2009
Feb 1, 2009
Mar 1, 2009
Apr 1, 2009
我想$start='Feb 18, 2009'
和$end='Apr 30, 2009'
查询返回三行2月1日,3月1日,4月1日(2009年2月1日是全国最大的日期即小于或等于$ start)。
但是,如果我提供$start='Dec 1, 2009'
和$end='Apr 30, 2009'
我希望所有四行返回(没有日期小于或等于$开始,所以范围内的最低日开始)
现在测试这个,coalesce看起来确实是我需要的。 – Johrn 2009-08-28 15:41:03
一旦我停止按照整数传递日期,就像梦一样工作。<感谢一百万! – Johrn 2009-08-28 15:50:51