我使用的SQL Server CE不支持子查询。我有一个表,其中包含按日期检查的结果(值)。我需要选择最后一个日期的ID,并进行检查。
我有这些专栏:
ID
ID_Tags +
ID_Url +
ID_Page +
DateDownloaded
Value
3列标有" +"一起表示一个已检查的实例,需要该值。
所以我想选择ID,ID_Tags,ID_Url和ID_Page代表一个独特的组合,而DateDownloaded是这个组合的最后一个。
答案 0 :(得分:0)
我找到了解决方案。
虽然,SQL Server CE不支持子查询,但它支持" IN"条件。所以,我已经用下一个有效的方式编写了这个查询:
SELECT ID, ID_Tags, ID_Url, ID_Page, MAX(DateDownloaded) as DateDownloaded
FROM RealRecords
WHERE DateDownloaded IN
(
SELECT MAX(DateDownloaded)
FROM RealRecords
GROUP BY ID_Tags, ID_Url, ID_Page
)
AND ID IN
(
SELECT MAX(ID)
FROM RealRecords
GROUP BY ID_SetTags, ID_Url_Adresses, ID_SeoPage
)
GROUP BY ID, ID_Tags, ID_Url, ID_Page
此查询包含所需的everythig,可以修改为仅返回ID。
在某些DateDownloaded相等的情况下添加了ID IN。 ID是具有自动递增的主键,因此最后一个值将是最后一个值的100%,将此检查与DateDownloaded列组合。