我有两个表都具有相同的两列:功能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? –