繁体   English   中英

mysql join 2表过滤结果

[英]mysql join 2 tables filtering results

我有 2 个表用户和推荐。

这是2个表的结构。

推荐表

|    Column    |
----------------
| ref_id       |
| from_user_id |
| to_user_id   | 
| ref_name     |    
| ref_phone    |    
| ref_email    |        
| ref_note     |

用户表

|    Column    |
----------------
| user_id         |
| user_name       |
| user_first_name |
| user_last_name  |
| user_email      |
| user_phone      |

我有 2 个部分,用户可以在其中查看收到和发送的推荐。

在收到的推荐部分,我如何从用户表中获取 first_name 和 last_name,加入推荐表中的 from_user_id。

到目前为止,我想出了这个查询来获得推荐,这让我得到了预期的结果集。 但是如何从推荐表 from_user_id 中获取用户表的名字和姓氏

SELECT users.user_id, users.user_name, users.user_firstname, users.user_lastname, referral.ref_name, referral.ref_phone, referral.ref_email, referral.ref_note
FROM referral JOIN users 
ON referral.to_user_id = users.user_id 
WHERE referral.to_user_id = (logged in user id)

类似地,在发送的推荐部分中,我如何获取用户的名字和姓氏加入用户和推荐表 from_user_id 键

SELECT users.user_id, users.user_name, users.user_firstname, users.user_lastname
            FROM referral JOIN users 
            ON referral.from_user_id = users.user_id
            WHERE referral.from_user_id = (logged in user id)

任何帮助将不胜感激。

我想你想在 users 表上有两个连接:

select r.ref_name, r.ref_phone, r.ref_email, r.ref_note,
    uf.user_id as from_user_id, uf.user_name as from_user_name, uf.user_firstname as from_user_firstname, uf.user_lastname as from_user_lastname, 
    ut.user_id as to_user_id,   ut.user_name as to_user_name,   ut.user_firstname as to_user_firstname,   ut.user_lastname as to_user_lastname
from referral r
inner join users ut on r.to_user_id   = ut.user_id 
inner join users uf on r.from_user_id = uf.user_id
where r.to_user_id = ?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM