Разделить Строка MYSQL из GROUP_CONCAT в (массив, например, выражение, список), который может понять IN ()

Этот вопрос следует из набора результатов соединения MYSQL, уничтоженного во время IN () в предложении where?

Итак, краткая версия вопроса. Как превратить строку, возвращаемую GROUP_CONCAT, в список выражений, разделенных запятыми, который IN () будет рассматривать как список из нескольких элементов, которые нужно перебрать?

NB. Кажется, что в документации MySQL «(запятые, разделенные, списки)», используемые IN (), называются «списками выражений», и что интересно, страницы в IN () кажутся более или менее единственными страницами в документы MySQL, чтобы всегда ссылаться на списки выражений. Поэтому я не уверен, будут ли здесь полезны функции, предназначенные для создания массивов или временных таблиц.


Длинная версия вопроса, основанная на примерах: из 2-табличной базы данных, например:

SELECT id, name, GROUP_CONCAT(tag_id) FROM person INNER JOIN tag ON person.id = tag.person_id GROUP BY person.id;
+----+------+----------------------+
| id | name | GROUP_CONCAT(tag_id) |
+----+------+----------------------+
|  1 | Bob  | 1,2                  |
|  2 | Jill | 2,3                  |
+----+------+----------------------+

Как я могу это изменить, Этот вопрос требует более пристального внимания . В настоящее время он не принимает ответы.


Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав это сообщение .

Закрыт 2 года назад .

Можно ли преобразовать программу Python в C / C ++?

Мне нужно реализовать пару алгоритмов, и я не уверен, разрыв в производительности достаточно велик, чтобы оправдать всю боль, с которой я столкнулся, выполняя это на C / C ++ (в чем я не очень силен). Я задумал написать один простой алгоритм и сравнить его с таким преобразованным решением. Если только это значительно быстрее, чем версия для Python, у меня не будет другого выбора, кроме как сделать это на C / C ++.

133
задан Aaron Hall 5 August 2015 в 17:45
поделиться