【发布时间】:2015-12-31 00:36:20
【问题描述】:
下面列出了两个表格:
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,这需要在查询中执行两次。 JOIN 是执行此操作的正确方法,还是应该查看查询中的子查询?
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 替换为客户名称,但这非常低效。
【问题讨论】:
标签: mysql join inner-join