0

我需要获取前一天未更新的项目列表。

我目前有...

 SELECT     dbo.aboProducts.asin, dbo.aboProducts.sku
 FROM       dbo.aboProducts INNER JOIN
            dbo.LowestPrices ON dbo.aboProducts.asin = dbo.LowestPrices.productAsin
 WHERE     (dbo.LowestPrices.priceDate <= DATEADD(day, - 1, GETDATE()))

然而,这没有返回任何内容。如果我将 <= 更改为 >= 我会得到过去 24 小时的结果。我只需要退还任何未更新的项目,并保留已更新的项目。

4

3 回答 3

2

这看起来很好,假设每个产品在 LowestPrices 中至少有一个条目。你真的有没有更新的项目吗?

于 2012-08-03T10:49:28.690 回答
2

试试这个:

SELECT     aboProducts.asin, aboProducts.sku
FROM       dbo.aboProducts 
where aboProducts.asin 
not in(
     select aboProducts.asin 
     FROM       dbo.aboProducts 
     INNER JOIN
                dbo.LowestPrices 
     ON aboProducts.asin = LowestPrices.productAsin
     WHERE     (LowestPrices.priceDate >= DATEADD(day, - 1, GETDATE()))
 )
于 2012-08-03T10:53:39.657 回答
0

试试这个:

 SELECT     dbo.aboProducts.asin, dbo.aboProducts.sku
 FROM       dbo.aboProducts INNER JOIN
            dbo.LowestPrices ON dbo.aboProducts.asin = dbo.LowestPrices.productAsin
 WHERE     (dbo.LowestPrices.priceDate != DATEADD(day, - 1, GETDATE()))
于 2012-08-03T11:42:11.613 回答