2

同じ内容のテーブルが 2 つあり、1 つは最初のテーブルの古いコピーです。そのため、ライブ テーブルの価格が変動する可能性があります。古いレコードの価格変更を検索するクエリを作成しようとしています。

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 に答える