我有一个查询,我正在处理一个项目,然后我擦除了数据集并重新开始,现在我根本无法获取任何数据。
查询基本上是:
SELECT *
FROM TABLEA
LEFT JOIN TABLEB
ON TABLEA.ID = TABLEB.ID
WHERE TABLEA.ID = 1
AND TABLEB.DATE = (SELECT MAX(TABLEB.DATE)
FROM TABLEB
WHERE TABLEA.ID = 1)
TableB 跟踪更改,每个 ID 有数百个条目。我想要与该 ID 有关的最后一个按时间顺序排列的项目的单行。
如果有更好的方法来做到这一点,那就太棒了,但我真的很想知道为什么这个特定的查询不起作用。当我运行此查询时:
SELECT MAX(TABLEB.DATE)
FROM TABLEB
LEFT JOIN TABLEB
ON TABLEA.ID = TABLEB.ID
WHERE TABLEA.ID = 1
我得到了数据集中最后一个日期的正确值。