Этот вопрос следует из набора результатов соединения 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 ++.