[英]many-to-many query mysql
I have 3 tables: users 我有3张桌子: 用户
+-----+--------+
| id | name |
+-----+--------+
| 1 | John |
+-----+--------+
| 2 | Mike |
+-----+--------+
files 档案
+-----+--------+
| id | file |
+-----+--------+
| 22 | file1 |
+-----+--------+
| 23 | file2 |
+-----+--------+
and table relationship usersfiles 和表关系的用户文件
+-------+--------+
| usrID | fileID |
+-------+--------+
| 1 | 22 |
+-------+--------+
| 2 | 22 |
+-------+--------+
| 2 | 23 |
+-------+--------+
How should the mysql query for this question look like? mysql查询该问题应如何?
Select all files enabled for current user. 选择为当前用户启用的所有文件。 Answer for this example would look like this: for user
John
enabled just file1
. 该示例的答案如下所示:对于用户
John
仅启用了file1
。 For user Mike
enabled files file1
and file2
. 为用户
Mike
启用了文件file1
和file2
。
这是一个简单的联接:
select files.id from users join usersfile on users.id=usrid join files on fileID=files.id where userid= <userid>
用这个
SELECT name, file FROM users,userfiles, files WHERE users.id = userfiles.usrid AND usersfiles.fileid = files.id;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.