たとえば、さまざまなタイプを含むエンコーディングテーブルがあるとします。
ID EncodingName
------------------
1 UTF-8
2 ISO-8859-1
そして、これらのIDを使用して、変換元と変換先のエンコーディングを追跡する別のEncodingMapping :
ID ItemId_FK EncodingFromId_FK EncodingToId_FK
-------------------------------------------------
1 45 2 1
2 78 1 2
ItemId_FK = 45の場合(たとえば)、次の結果を生成するSQLステートメントを作成したいと思います。
FromEncoding ToEncoding
-------------------------
ISO-8859-1 UTF-8
簡単そうに見えますが、この形式で1行を返すだけでは、JOINを機能させることはできません。
私がこれまでに持っているもの(これは間違っています):
SELECT EncodingName As FromEncoding, EncodingName As ToEncoding
FROM Encoding
LEFT JOIN EncodingMapping As em
ON Encoding.ID = em.EncodingFromId_FK OR Encoding.ID = em.EncodingToId_FK
WHERE ItemId_FK = 45