我在想出我需要创建的 SQL 语句时遇到了一些麻烦。
我有两张 table
friend
===================================
friendfromid | friendtoid | request
===================================
用户
=================
userid | username
=================
我需要获取我 friend 的每个用户的用户 ID 和用户名。
我的 id 是在 friendfromid 还是 friendtoid 中,这取决于我是被用户请求还是用户请求我。
所以基本上需要发生的是脚本需要查看 friends 表,获取我的 id 是 friendfromid 或 friendtoid 的所有行检查请求字段是否设置为 1,获取匹配的所有行然后获取不是我的每个 friendfromid 或 friendtoid 的 ID 和用户名。
例如,如果我的 id 是 8 而 friend id 是 9,假设他们要求我他们的 id 将在 friendfromid 字段中,而我的 id 将在 friendtoid 字段中,这意味着脚本将采用他们的 id ( 9) 并将其与用户表中的该用户匹配。
最佳答案
这将给出带有好友 ID 和好友名称的好友列表:
SELECT u.userid , u.username
FROM Friends f
JOIN Users u
ON (( f.friendfromid ={the ID} AND friendtoid=u.userid)
OR ( f.friendtoid = {the ID} AND friendfromid=u.userid))
WHERE f.request = 1
输入{the ID}=需要好友列表的用户id。
关于php - MySQL - 复杂查询问题,多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8830065/