所以我有这个数据库
表格:费率
ID | FID | TID | RATE
---------------------------
1 | 1 | 2 | 0.3
2 | 1 | 3 | 1.2
3 | 1 | 4 | 4.5
4 | 2 | 1 | 1.3
5 | 2 | 3 | 3.3
6 | 2 | 4 | 4.4
表:货币
ID | Name | Symbol
---------------------
1 | Euro | E
2 | Pound | P
3 | Dollar | $
4 | CAD | C
到目前为止我尝试的是
SELECT rates.*,
currencies.name,
currencies.symbol FROM RATES
JOIN CURRENCIES ON
(rates.fid = currencies.id)
这有效但仅适用于 1 列。我找不到添加更多的方法。我还想为每种货币提供自定义输出名称。所以最终的输出应该是:
ID | FromCurrency (FID) | ToCurrency (TID) | Rate
最佳答案
您需要执行多个连接,并且由于您对两个连接使用同一个表,请为它们指定一个别名。
像这样:
SELECT rates.ID,
a.name AS 'FromCurrency (FID)',
a.symbol AS 'FID Symbol',
b.name AS 'ToCurrency (TID)',
b.symbol AS 'TID Symbol',
rates.rate
FROM RATES
JOIN CURRENCIES AS a ON
(rates.fid = a.id)
JOIN CURRENCIES AS b ON
(rates.tid = b.id)
关于mysql - 如何显示引用主表上的两个外部 ID 键的表的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27270576/