假设我有一个包含各种类型的编码表,例如:
ID EncodingName
------------------
1 UTF-8
2 ISO-8859-1
还有一个EncodingMapping,它使用这些ID来跟踪要从哪种编码转换到哪种编码:
ID ItemId_FK EncodingFromId_FK EncodingToId_FK
-------------------------------------------------
1 45 2 1
2 78 1 2
我希望创建一个SQL语句,当ItemId_FK = 45时(例如),可以创建以下结果:
FromEncoding ToEncoding
-------------------------
ISO-8859-1 UTF-8
看起来很简单,但我无法通过返回这种格式的单行来使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