2016-09-13 115 views
0

我有查询成功后的结果集团CONCAT查询mysql的

表用户:

enter image description here

并与结果。我想加入表格主题,通过ID获得主题名称。

表主题:

enter image description here

标识与表主题相关

产出表的用户我想:

enter image description here

你能不能给我查询。谢谢大家!

+1

你能显示完整的第一个表,与预期输出一起? –

+0

亲自试一试。为了理解,你可以阅读关于MySQL连接的内容。 https://www.sitepoint.com/understanding-sql-joins-mysql-database/ – Nebi

+0

提供您的原始数据和结果应该如何? –

回答

0

您正在将CSV数据存储在MySQL表中,这是不可取的。但您可以使用的一种方法是使用FIND_IN_SETSubjects表加入user表中,以处理后者中包含的CSV数据。

SELECT t2.defaultSubjectId, 
     GROUP_CONCAT(t1.subject) 
FROM Subjects t1 
INNER JOIN user t2 
    ON FIND_IN_SET(t1.subjectId, t2.defaultSubjectId) > 0 
GROUP BY t2.defaultSubjectId 

演示在这里:

SQLFiddle

+0

感谢您的回答,并对其进行测试。如果不行,我会为你发布原始数据 –

+0

它工作:)。谢谢 ! –

+0

将来你应该避免使用CSV数据。在这种特殊情况下,我们可以使用'FIND_IN_SET'来解决它,但是如果你不得不加入两列,其中两列都有CSV,那么在MySQL中你将很难做到这一点。 –