多对多查询 mysql
many-to-many query mysql
我有 3 个 table:
用户
+-----+--------+
| id | name |
+-----+--------+
| 1 | John |
+-----+--------+
| 2 | Mike |
+-----+--------+
文件
+-----+--------+
| id | file |
+-----+--------+
| 22 | file1 |
+-----+--------+
| 23 | file2 |
+-----+--------+
和table关系usersfiles
+-------+--------+
| usrID | fileID |
+-------+--------+
| 1 | 22 |
+-------+--------+
| 2 | 22 |
+-------+--------+
| 2 | 23 |
+-------+--------+
这个问题的 mysql 查询应该是什么样的?
Select 为当前用户启用的所有文件。
此示例的答案如下所示:
用户 John
仅启用 file1
。对于用户 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;
我有 3 个 table: 用户
+-----+--------+
| id | name |
+-----+--------+
| 1 | John |
+-----+--------+
| 2 | Mike |
+-----+--------+
文件
+-----+--------+
| id | file |
+-----+--------+
| 22 | file1 |
+-----+--------+
| 23 | file2 |
+-----+--------+
和table关系usersfiles
+-------+--------+
| usrID | fileID |
+-------+--------+
| 1 | 22 |
+-------+--------+
| 2 | 22 |
+-------+--------+
| 2 | 23 |
+-------+--------+
这个问题的 mysql 查询应该是什么样的?
Select 为当前用户启用的所有文件。
此示例的答案如下所示:
用户 John
仅启用 file1
。对于用户 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;