Mysql 从一个表中获取ID并从另一个表中返回相关名称

Mysql 从一个表中获取ID并从另一个表中返回相关名称,mysql,join,inner-join,Mysql,Join,Inner Join,我有以下两个表格: Transactions ID | Buyer | Seller ------------------- 1 | 1 | 2 2 | 1 | 3 3 | 2 | 3 ClientData ID | Name --------- 1 | John 2 | Terry 3 | Bob 我希望能够运行一个查询,该查询将返回交易ID和客户名称,而不是买家和卖家ID。我知道JOIN将用于此目的,但我遇到的所有示例似乎都只使用一个相关I

我有以下两个表格:

Transactions
ID | Buyer | Seller
-------------------
 1 |   1   |   2
 2 |   1   |   3
 3 |   2   |   3

ClientData
ID | Name
---------
 1 | John
 2 | Terry
 3 | Bob
我希望能够运行一个查询,该查询将返回交易ID和客户名称,而不是买家和卖家ID。我知道JOIN将用于此目的,但我遇到的所有示例似乎都只使用一个相关ID,这需要在查询中执行两次。连接是实现这一点的正确方法,还是应该查看查询中的子查询

SELECT Transactions.ID, Transactions.Buyer, Transactions.Seller 
FROM Transactions 
INNER JOIN ClientData ON Transactions.Buyer=ClientData.ID
AND Transaction.Seller=ClientData.ID
此查询不返回任何数据,如果我

AND Transaction.Seller=ClientData.ID

从查询中,它只返回原始事务数据。以前,我只是将原始事务数据读入一个数组,然后通过该数组进行循环,并手动将买方和卖方ID替换为客户名称,但这是非常低效的

这对你有用吗

SELECT t.ID, b.Name, s.Name 
FROM Transactions t
INNER JOIN ClientData b ON t.Buyer=b.ID
INNER JOIN ClientData s ON t.Seller=s.ID

这对你有用吗

SELECT t.ID, b.Name, s.Name 
FROM Transactions t
INNER JOIN ClientData b ON t.Buyer=b.ID
INNER JOIN ClientData s ON t.Seller=s.ID

我将使用2个连接,一个用于买方,一个用于卖方,如下所示:

SELECT Transactions.ID, BUYER.NAME, SELLER.NAME
FROM transactions T
JOIN Clientdata BUYER
ON T.BUYER=BUYER.ID
JOIN Clientdata SELLER
ON T.SELLER=SELLER.ID

我将使用2个连接,一个用于买方,一个用于卖方,如下所示:

SELECT Transactions.ID, BUYER.NAME, SELLER.NAME
FROM transactions T
JOIN Clientdata BUYER
ON T.BUYER=BUYER.ID
JOIN Clientdata SELLER
ON T.SELLER=SELLER.ID

这正是我所想的,但无法转化为代码。谢谢这正是我所想的,但无法转化为代码。谢谢