Mysql 如何将一个表中的多个列连接到另一个表中的列

Mysql 如何将一个表中的多个列连接到另一个表中的列,mysql,sql,Mysql,Sql,我对SQL非常陌生,我的大多数其他问题都可以通过搜索来回答,但这一个似乎很难找到类似的问题。我确实看到了,这看起来很相似,但我没能找到答案,尽管我认为答案应该是直截了当的 为了简化数据库,我尝试将两个表连接到一个视图中 one表(a_main)在用户ID(UID)和他们的用户名(name)之间有一个映射 第二个表(log_points)有许多列,包括两个用户(user1和user2)。这两个用户由用户ID标识,但我想在视图中显示他们的用户名 范例 SELECT name, UID FROM a_

我对SQL非常陌生,我的大多数其他问题都可以通过搜索来回答,但这一个似乎很难找到类似的问题。我确实看到了,这看起来很相似,但我没能找到答案,尽管我认为答案应该是直截了当的

为了简化数据库,我尝试将两个表连接到一个视图中

one表(a_main)在用户ID(UID)和他们的用户名(name)之间有一个映射 第二个表(log_points)有许多列,包括两个用户(user1和user2)。这两个用户由用户ID标识,但我想在视图中显示他们的用户名

范例

SELECT name, UID FROM a_main
返回类似于

Jeff 1234

SELECT date, user1, user2 FROM log_points
返回

2013-03-22 1222 1234

SELECT date, user1, user2 FROM log_points
我希望视图按用户名而不是id返回用户

如果只有一个用户,我可以直接加入

SELECT date, a_main.name FROM log_points 
INNER JOIN a_main ON log_points.user1 = a_main.UID
但我不知道如何将user2也加入到一个_main.UID中

如有任何建议,将不胜感激!我正在使用MySQL

编辑找到了答案

试试这个:

SELECT t1.name AS person1, t2.name AS person2
FROM log_points t
JOIN a_main t1 ON t1.UID = t.user1
JOIN a_main t2 ON t2.UID = t.user1;
试试这个

 SELECT date, (SELECT name FROM a_main where UID=user1)as user1, (SELECT name FROM a_main where UID=user2)as user2 FROM log_points.

任何人都可以对这两个查询的性能提供见解。

有两个用户12221234,它们的行为类似于日志点表中的列……对吗?我发现了,我找到了一个相关的问题解决了它-@Jeff-p,那么您可能应该告诉我们解决方案是什么-当其他人与您的问题有些相同时。;-)编辑后我把它放在底部。我不知道如何添加格式以使其突出显示,并将其格式化为代码您只需回答自己的问题-这是允许的