主キーではない 2 つのフィールドを持つテーブルがありますが、重複しているため、それらを使用することはできません。結合されたテーブルからデータを挿入したいのですが、重複を避けたいです。私がしたことは次のとおりです。
insert into X(A,B)
select *
from (Y.A, Z.B
from Y join Z
on (Y.id = Z.id)) tmp
WHERE NOT EXISTS (SELECT * FROM X
WHERE A = tmp.A
AND B = tmp.B)
私が理解したように、INSERT ... WHERE NOT EXISTS を使用しないことが最善であると理解しましたが、この種のコードには問題があると思いますか?