首页 > 解决方案 > 如何使用两个 WHERE 条件从两个表中进行选择?

问题描述

我有一个应用程序,它有一个推荐系统,用户可以使用他们user_id来推荐另一个用户。所有用户都在同一张桌子上。引用表存储user_id引用者和被引用者的信息。

用户表: 在此处输入图像描述

推荐表: 在此处输入图像描述

我想使用user_id在引用表中填充的用户表中的两个用户(引用者和被引用者)的名称进行查询。

预期结果: 在此处输入图像描述

标签: mysqlsql

解决方案


我的方法是加入 User_table 两次 -

SELECT U1.name referrers_name, U2.name referred_name
FROM Referrals R
JOIN Users U1 ON R.referrer = U1.user_id
JOIN Users U2 ON R.referrd = U1.user_id

推荐阅读