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

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

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

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


Длинная версия вопроса, основанная на примерах: Из БД с двумя таблицами, например:

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                  |
+----+------+----------------------+

Как я могу это изменить, поскольку, поскольку он использует строку, обрабатывается как логический эквивалент (1 = X) AND (2 = X) ... Я использую событие onbeforeunload в Javascript, отлично работает.

Теперь я хочу запустить некоторый код Javascript, когда пользователь нажимает «Отмена» в появившемся диалоговом окне (говоря, что он не хочет уходить со страницы).

Это возможно? Я тоже использую jQuery, так что, может быть, есть событие, подобное beforeunloadcancel, к которому я могу привязаться?

ОБНОВЛЕНИЕ : Идея состоит в том, чтобы на самом деле сохранять и направлять пользователей на другую веб-страницу, если они выбрали отмену

32
задан at. 10 January 2011 в 19:55
поделиться