我问了一个问题before并收到了这个答案:
SELECT table1.id, GROUP_CONCAT(table2.values)
FROM table1
INNER JOIN
table2
ON FIND_IN_SET(table2.id, table1.nos)
GROUP BY
table1.id
但我在nos1
中有另一个table1
字段(有多个值),也指向table2
,我这样使用它:
SELECT table1.id, GROUP_CONCAT(table2.values),GROUP_CONCAT(table2.values)
FROM table1 INNER JOIN table2 ON
FIND_IN_SET(table2.id, table1.nos),
INNER JOIN table2 ON
FIND_IN_SET(table2.id, table1.nos1),
GROUP BY table1.id
,但它无法正常工作。我不知道在这种情况下如何使用。
以下是我的数据和所需的结果集:
表1:
id: no nos1
1 14,15,16 17,18
表2:
id value
14 PHP
15 JAVA
16 C++
17 mysql
18 mysql server
输出:
id no nos1
1 PHP, JAVA, C++ mysql, mysql server
答案 0 :(得分:4)
SELECT table1.id,
(
SELECT GROUP_CONCAT(table2.values)
FROM table2
WHERE FIND_IN_SET(table2.id, table1.no)
) AS no,
(
SELECT GROUP_CONCAT(table2.values)
FROM table2
WHERE FIND_IN_SET(table2.id, table1.nos1)
) AS nos1
FROM table1