mysql - 选择具有多个类别的用户
问题描述
现在我有这些表格,用户可以拥有多个类别,我想像这样显示表格
我已经写了这个声明,但是它在每个类别中都重复了用户名
SELECT
c.name
FROM
permission p
JOIN users u
ON u.id = p.user_id
JOIN category c
ON c.id = p.category_id
USER DATA TABLE // 这个表是我想要得到的,因为每个用户都有不止一个类别
用户名 | 电子邮件 | 类别 |
---|---|---|
排 | 排 | 数学、科学 |
排 | 排 | 行,行,行 |
//这些表是我在数据库中的
用户表
用户身份 | 用户名 | 电子邮件 |
---|---|---|
5 | 排 | 排 |
6 | 排 | 排 |
类别表
身份证 | 名称 |
---|---|
8 | 数学 |
9 | 科学 |
许可表
ID | 用户身份 | 身份证 |
---|---|---|
1 | 5 | 8 |
2 | 6 | 9 |
解决方案
如果您只有用户名,请使用 DISTINCT
SELECT DISTINCT
c.name
FROM
permission p
JOIN
users u ON u.id = p.user_id
JOIN
category c ON c.id = p.category_id
使用更多列,您应该寻找GROUP BY c.name