【问题标题】:Show all rows from a specific date subtract 14 days in a subquery在子查询中显示特定日期减去 14 天的所有行
【发布时间】:2020-11-03 21:52:27
【问题描述】:

我正在使用以下查询从 3 个不同的表中输出数据。目前它正在输出 800 行,所以我试图缩小范围:

我想要 AgreementDate 为 2013-05-05(这是一个随机示例)减去该日期的 14 天的所有行。

尝试在我的第二个 SELECT 中执行此操作,但没有返回任何行。

感谢您的帮助。

SELECT RA.CustID, RA.AgreementDate, BR.RentalCost, B.BookID, B.Name, 
FROM RentalAgreement RA 
JOIN  BookRented BR
ON (BR.AgreementID = RA.AgreementID)
JOIN Book B
ON(BR.BookID = B.BookID)
WHERE RA.AgreementDate IN (SELECT AgreementDate
                           FROM RentalAgreement
                           WHERE AgreementDate = *SpecificDate - 14Days*);

【问题讨论】:

    标签: sql select subquery sqlplus


    【解决方案1】:

    我不明白你为什么有一个子查询:

    SELECT RA.CustID, RA.AgreementDate, BR.RentalCost, B.BookID, B.Name, 
    FROM RentalAgreement RA JOIN
         BookRented BR
         ON BR.AgreementID = RA.AgreementID JOIN
         Book B
         ON BR.BookID = B.BookID
    WHERE RA.AgreementDate = DATE '2013-05-05' - INTERVAL '14' DAY;
    

    我猜你是在使用基于sqlplus标签的Oracle。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多