我在弄清楚这一点时遇到问题。这是一个示例表:
我需要能够找到的是对于给定的客户 ID 和 Part_ID,Discontinue_Date 大于下一行的 effective_Date 的任何记录。这是一个客户定价表,因此第 53 行的 Discontinue_Date 永远不应大于第 54130 行的有效日期,这些是我要查找的记录。所以我正在寻找一个 SELECT 查询来查找任何符合这一条件的记录。显然,Customer_ID 的最后一个 Discontinue_Date 行不会有下一行,因此我不想返回该行。
我该怎么做呢?
从截图来看,它看起来像SQL Server。所以这应该有效:
SELECT * FROM myTable
WHERE DISCONTINUE_DATE > (SELECT TOP 1 EFFECTIVE_DATE
FROM myTable AS sub
WHERE sub.CUSTOMER_ID = myTable.CUSTOMER_ID AND sub.PART_ID = myTable.PART_ID
AND sub.EFFECTIVE_DATE > myTable.EFFECTIVE_DATE
ORDER BY EFFECTIVE_DATE)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)