我有兩個表都具有相同的兩列:功能ID和語言。我想提取功能ID的語言已更改的記錄。但問題是,每個功能ID都有多種語言。我的表是這樣的:SQL:使用非唯一功能ID查找兩個表之間的差異?
表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'
有沒有在SQL的方式來減輕這種情況?
謝謝。
您正在使用哪些DBMS? –