gpt4 book ai didi

mysql - SQL查询一个单元格中的多个值

转载 作者:行者123 更新时间:2023-11-29 19:22:41 25 4
gpt4 key购买 nike

有一个表(类(class)兴趣),其中一个单元格中包含所有值。但这些值只是 ID,我想将它们与另一个表(类(class))连接起来,这样我就可以知道它们的名字。

类(class)兴趣:

MemberID          MemberName              CoursesInterested
-------------- --------------------- --------------
1 Al 1,4,5,6
2 A2 3,5,6

类(class)表:

CourseId          Course
-------------- ---------------------
1 MBA
2 Languages
3 English
4 French
5 Fashion
6 IT

期望的输出:

MemberID          MemberName              CoursesInterested
-------------- --------------------- --------------
1 Al MBA,French,Fashion,IT
2 A2 English,Fashion,IT

我想在 MySql 中执行 SQL 查询,它可以帮助我提取所需的输出。我知道如何以相反的方式执行此操作(将值连接到一个单元格),但我一直在努力寻找一种分离 id 并交叉连接到另一个表的方法。

我将感谢社区的任何帮助。谢谢

最佳答案

使用FIND_IN_SET 在逗号分隔列表中搜索某些内容。

SELECT i.MemberID, i.MemberName, GROUP_CONCAT(c.Course) AS CoursesInterested
FROM CourseInterests AS i
JOIN Course AS c ON FIND_IN_SET(c.CourseId, i.CoursesInterested)

但是,最好创建一个关系表,而不是将类(class)存储在单个列中。这种类型的联接无法使用索引进行优化,因此对于大型表来说成本高昂。

关于mysql - SQL查询一个单元格中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42353646/

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