有两个用户ID表和它们之间的链接

时间:2016-01-05 14:27:23

标签: mysql sql database select join

我有第一个表'用户'

| id    | name
------------------
| 1     |  james 
| 2     |  johnny
| 3     |  Carl 
| 4     |  Lea 

我的第二个表包含链接的用户 linked_users

| id    | linked_id 
--------------------
| 1     | 2   
| 1     | 4   
| 2     | 3   

我需要获取两个字段,其中包含每个用户的名称以及链接用户的名称。

我试过这个,但它没有正常工作。

SELECT case WHEN u.user_id = l.user_id then user_name end as username,
case WHEN u.user_id = l.link_user_id then user_name end as linked
FROM
   panel_user u, link_view_user l WHERE l.link_user_id = u.user_id

感谢您的帮助,谢谢。

2 个答案:

答案 0 :(得分:3)

您必须将panel_user表两次加入link_view_user表。一旦使用id,然后使用link_user_id列。

SELECT u2.name as id_name, u1.name as linked_id_name
FROM link_view_user l
join panel_user u1 on u1.id = l.linked_id
join panel_user u2 on u2.id = l.id

答案 1 :(得分:1)

试试这个:

{{1}}