作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有多个复选框,用户可以在其中将教育数据添加到数据库中。我的结构在数据库中如下所示:我有三个表,user_education,其中保存用户选择的教育级别的记录(同一 user_id
可以有多行),education,我存储用户教育描述(每个user_id
只有一行),以及我存储所有学位的教育级别。
id | user_id | education_id
1 83 1
2 83 2
user_id | description
83 test
education_id | education
1 alusharidus
2 keskharidus
3 Bachelor’s degree
4 Master’s degree
等等。我的问题是如何选择特定用户的所有数据,但只显示一次描述?
我尝试运行这个:
select
user_education.education_id,
education_levels.education,
education_description.description
from
user_education
join education_description
left join education_levels
on user_education.education_id=education_levels.education_id and education_description.user_id = user_education.user_id WHERE user_education.user_id=83;
这给了我这个:
这里是多次插入的描述,但我只想插入一次。我的结构对于这种逻辑来说是错误的吗?如果没有,我怎样才能只选择一次,以便在用户提交表单后可以附加数据?
添加所需的结果
user_id | education | description
83 test testing
83 test2
83 test3
最佳答案
您能尝试一下这个答案吗:-
select
user_education.education_id,
GROUP_CONCAT(education_levels.education separator ' ,'),
education_description.description
from
user_education
join education_description
left join education_levels
on user_education.education_id=education_levels.education_id and education_description.user_id = user_education.user_id
WHERE user_education.user_id=83
GROUP BY user_education.user_id;
关于mysql - 如何从多个表中选择数据,且一张表限制为1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38692793/
我是一名优秀的程序员,十分优秀!