SQL查询>系统日期

SQL查询>系统日期,sql,sysdate,Sql,Sysdate,我正在尝试编写一个查询,以查找最大过期日期,但我注意到,当我这样做时,如果我有一个过期日期,比如2016年12月30日,我没有得到任何结果,对于同一部分,我还有一个过期日期,即2099年1月1日,这是默认日期,如果下面没有填写任何内容,我的查询如何重写过期日期查询以获取正确的日期 SELECT Part, price, effective_date, expiration_date FROM a.Table WHERE Part IN ('&Part') AND PRI

我正在尝试编写一个查询,以查找最大过期日期,但我注意到,当我这样做时,如果我有一个过期日期,比如2016年12月30日,我没有得到任何结果,对于同一部分,我还有一个过期日期,即2099年1月1日,这是默认日期,如果下面没有填写任何内容,我的查询如何重写过期日期查询以获取正确的日期

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)
我会用排号

以下是查询:

SELECT
    part
    ,price
    ,effective_date
    ,expieration_date
FROM (
    SELECT
        part
        ,price
        ,effective_date
        ,expieration_date
        ,ROW_NUMBER() OVER (PARTITION BY part ORDER BY expieration_date DESC) AS "row"
    FROM @tbl
    WHERE effective_date < SYSDATE + 1
    ) tbl
WHERE "row" = 1

每个表中的样本数据以及期望的结果都会有所帮助。添加更多信息,包括样本和预期输出!对不起,我忘了拔出内部连接,我不需要它。样本数据如下:苹果7.95 1-Dec-16 30-Dec-16苹果7.95 1-Nov-16 30-Nov-16苹果7.95 30-Dec-16 01-Jan-2099我正在寻找它给我这个结果苹果7.95 1-Dec-16 30-Dec-16我是“getting From关键字not found”应位于第_NUM行我正在oracle sql Developer中运行查询Orry,oracle sql Developer在声明列名时需要它。已更新查询。只要将@tbl替换为您的表,其他一切都应该可以正常工作。
DECLARE @tbl TABLE (
part NVARCHAR(MAX)
,price FLOAT
,effective_date DATETIME2(3)
,expieration_date DATETIME2(3)
)

INSERT @tbl (part, PRICE, EFFECTIVE_DATE, EXPIERATION_DATE)
VALUES ('Apples',7.95,'2016-12-01','2016-12-30')
    ,('Apples',7.95,'2016-11-01','2016-11-30')
    ,('Apples',7.95,'2016-12-30','2099-01-01')