MySQL - 两个表,比较两行

时间:2013-03-29 00:58:36

标签: mysql sql database

我有两个具有相同内容的表,一个是第一个表的旧副本。因此,实时表可能会有价格变化。我正在尝试构建一个查询来查找旧记录中的价格变化。

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

1 个答案:

答案 0 :(得分:2)

制作你的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所提到的,使用简单的内连接比使用外连接更有效。