2

我有两个内容相同的表,其中一个是第一个表的旧副本。所以直播表可能会有价格变化。我正在尝试构建一个查询来查找旧记录中的价格变化。

Products

ID

Title

Price

旧表

Old_Products

ID

Title

Price

到目前为止,我正在使用这个查询,但没有做我想做的事。

SELECT products.id
FROM products
LEFT JOIN products_old ON products.id = products_old.id
WHERE products.price IS NULL
4

1 回答 1

3

制作您的 where 子句以确定旧表和新表之间的价格不相等的位置。

SELECT products.id, products.title, products.price, products_old.price
FROM products
JOIN products_old ON products.id = products_old.id
WHERE products.price <> products_old.price

如果这个简单的查询在您的数据库上表现不佳,我建议检查您在两个表上应用的索引。此外,正如 ypercube 所提到的,使用简单的内连接将比使用外连接更有效。

于 2013-03-29T00:59:55.790 回答