私は2つのテーブルの両方が同じ2つの列:フィーチャーIDと言語を持っています。フィーチャーIDの言語が変更されたレコードを取り出したいと思います。しかし、問題は、各フィーチャーIDに複数の言語があることです。私のテーブルは次のようになります。SQL:一意でないフィーチャIDを持つ2つのテーブル間の差分を検索しますか?
表1
Feature ID | Language
------------------------
001 | 'en'
001 | 'es'
001 | 'pt'
002 | 'es'
002 | 'fr'
表2
Feature ID | Language
-----------------------
001 | 'es'
001 | 'en
001 | 'fr'
002 | 'fr'
002 | 'es'
私が最初のようなものを試みた:
SELECT a.feature_id, b.feature_id, a.language, b.language
FROM table 1 a FULL OUTER JOIN table 2 b on a.feature_id = b.feature_id
WHERE a.language <> b.language
を私は期待して、これは正確に動作しませんでした。私は次のような結果に気付いています:
002 | 002 | 'fr' | 'es'
002 | 002 | 'es' | 'fr'
これを緩和する方法はありますか?
ありがとうございました。
どのDBMSを使用していますか? –