gpt4 book ai didi

mysql - 如何从多个表中选择数据,且一张表限制为1

转载 作者:行者123 更新时间:2023-11-29 07:13:52 26 4
gpt4 key购买 nike

我有多个复选框,用户可以在其中将教育数据添加到数据库中。我的结构在数据库中如下所示:我有三个表,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;

这给了我这个:

enter image description here

这里是多次插入的描述,但我只想插入一次。我的结构对于这种逻辑来说是错误的吗?如果没有,我怎样才能只选择一次,以便在用户提交表单后可以附加数据?

编辑

添加所需的结果

教育描述

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com