在子查询中显示特定日期减去 14 天的所有行
Posted
技术标签:
【中文标题】在子查询中显示特定日期减去 14 天的所有行【英文标题】:Show all rows from a specific date subtract 14 days in a subquery 【发布时间】: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*);
【问题讨论】:
【参考方案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。
【讨论】:
以上是关于在子查询中显示特定日期减去 14 天的所有行的主要内容,如果未能解决你的问题,请参考以下文章
使用 Mongoid 和 Ruby 查询最近 30 天的日期范围?