所以我有两个桌子。一个是看起来像这样的客户
+----------+-----------+----------+-------------+--------+---------+---------+----------------+------------+-------+---------+
| ClientId | FirstName | LastName | DateOfBirth | Gender | PriLang | SecLang | Address | City | State | ZipCode |
+----------+-----------+----------+-------------+--------+---------+---------+----------------+------------+-------+---------+
| 00002 | Peter | Parker | 2001-08-10 | Male | 4 | 1 | 2389 Some Road | Where City | MA | 60042 |
+----------+-----------+----------+-------------+--------+---------+---------+----------------+------------+-------+---------+
另一个是语言
+-------------------+-----------------+
| LanguageId | LanguageName |
+-------------------+-----------------+
| 1 | English |
| 2 | Spanish |
| 3 | Vietnamese |
| 4 | French |
| 5 | Korean |
| 6 | Japanese |
| 7 | Italian |
+-------------------+-----------------+
我不知道如何用语言表中的语言名称替换PriLang和SecLang中的外键值。
您必须两次加入语言表
查询#1
SELECT
`ClientId`, `FirstName`, `LastName`, `DateOfBirth`, `Gender`
, l1.LanguageName `PriLang`, l2.LanguageName `SecLang`, `Address`, `City`, `State`, `ZipCode`
FROM client c
INNER JOIN
language l1 ON c.PriLang = l1.LanguageId
INNER JOIN
language l2 ON c.SecLang = l2.LanguageId;
| ClientId | FirstName | LastName | DateOfBirth | Gender | Address | City | State | ZipCode | PriLang | SecLang |
| -------- | --------- | -------- | ----------- | ------ | -------------- | ---------- | ----- | ------- | ------- | ------- |
| 2 | Peter | Parker | 2001-08-10 | Male | 2389 Some Road | Where City | MA | 60042 | French | English |