Значения, разделенные запятыми - Проблема - PullRequest
0 голосов
/ 30 марта 2009

Я задал вопрос до и получил ответ:

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

, но он не работает должным образом. Я не понимаю, как использовать в этой ситуации.

Вот мои данные и желаемый набор результатов:

Table1:

id:   no              nos1

1     14,15,16        17,18

Table2:

id     value

14     PHP 
15     JAVA       
16     C++  
17     mysql  
18     mysql server  

Выход:

id     no               nos1

1      PHP, JAVA, C++   mysql, mysql server   

1 Ответ

4 голосов
/ 30 марта 2009
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...