【发布时间】:2016-12-02 18:54:54
【问题描述】:
我正在尝试编写一个查询来查找最大到期日期,但我注意到当我这样做时,如果我有一个到期日期,比如 2016 年 12 月 30 日,并且对于同一部分,我没有得到任何结果还有一个截止日期为 2099 年 1 月 1 日(如果没有填写任何内容,这是默认日期)。下面是我的查询,我该如何重写 expire_date 查询以获得正确的日期。
SELECT
Part,
price,
effective_date,
expiration_date
FROM a.Table
WHERE Part IN ('&Part')
AND PRICE IN ('somewere')
AND expiration_date IN (SELECT
MAX(expiration_date)
FROM table
WHERE expiration_date > SYSDATE
AND part IN ('&Part)
AND PRICE IN (Somewere))
AND to_date(effective_date) IN (SELECT
MAX(EFFECTIVE_DATE) FROM b.table
WHERE expiration_date > SYSDATE
AND Part IN ('&Part)
AND price IN (somewere)
AND EFFECTIVE_DATE < SYSDATE + 1)
【问题讨论】:
-
每个表格的样本数据以及所需的结果会有所帮助。
-
添加更多信息,包括样本和预期输出!
-
对不起,我忘了拉出那个内部连接,我不需要那个。样本数据如下: Apples 7.95 1-Dec-16 30-Dec-16 Apples 7.95 1-Nov-16 30-Nov-16 Apples 7.95 30-Dec-16 01-Jan-2099 我正在寻找它给我这对于结果 Apples 7.95 1-Dec-16 30-Dec-16