mysql用逗号分隔的值

时间:2011-11-10 05:22:17

标签: mysql

我在MySQL查询中遇到问题 我需要MySQL查询来显示以下输出,我还需要使用CSV或Excel或PDF报告。

表1:

id | nos
-------------
1    12,13,14
2    14
3    14,12

表2:

id | values
------------
12   raja
13   rames
14   ravi

我想要这样的输出:

id | values
---------------------
1    raja, rames, ravi
2    ravi
3    ravi, raja

1 个答案:

答案 0 :(得分:4)

在SQL中,最好在列中存储单个值,而不是以逗号分隔的值列表。请参阅我对Is storing a comma separated list in a database column really that bad?

的回答

您可以尝试此查询,但速度非常慢且效率低下:

SELECT Table1.id, GROUP_CONCAT(Table2.values) AS values
FROM Table1
JOIN Table2 ON FIND_IN_SET(Table2.id, Table1.nos)
GROUP BY Table1.id;

请参阅FIND_IN_SET()功能。