2 つのテーブルを比較し、結果に応じて対応するにはどうすればよいですか。たとえば、2 つのテーブル (正確な構造) があります: tableA(キー、テキスト) と tableB(キー、テキスト)、および結果テーブル (キー、フィールド、ケース)。
if key is in tableA, but not in tableB --> case: insert
if key is in tableB, but not in tableA --> case: delete
if key is in tableA and in tableB, but the text is different -> update
if key is in tableA and in tableB, and the text is the same -> nothing
結果テーブルは次のようになります。
key | text | case
------------------
1 | t1 | update
2 | t2 | delete
3 | t3 | insert
4 | t4 | nothing
たった1つのクエリでそれを行うことは可能ですか?
挿入を取得するには(削除の場合はその逆):
SELECT key FROM tableA
MINUS
SELECT key FROM tableB;