Всем бодрого! Есть задача: В таблице базы данных в одном из полей(VARCHAR) хранятся ключевые слова, разделенные запятыми (латиница и кириллица). Количество слов в каждой записи может варьироваться. Необходимо составить запрос, возвращающий только уникальные значения ключевых слов. Сейчас ищу интересные варианты в поисковиках. Может кто тут еще что интересного предложит, с использованием чего нить необычного. Спасибо! ((
Ну думай. Если придумаешь, ты будешь реально гений. Советую очевидное: - создать таблицу "словарь" с уникальным индексом по полю - создать таблицу-связку для огранизации связи между исходной таблицей и словарем как M:M - один раз прогнать все записи исходной таблицы через процедуру с explode и insert ignore в целевую таблицу После чего у нас будет нормальная (в реляционном смысле) схема для запросов. а текстовое поле использовать только для вывода, а никак не для поиска.
artoodetoo, пасиб. Я и твой вариант попробую конешь. Про уникальность тоже много думал, просто что задача немного расплывчато стоит... и поэтому хочу все перепробовать ((
единственная альтернатива - это встроенная процедура. Но там получается тоже, что и в php перебор ))):
Индексы расставил и уникальные тоже указал. Просто интересно, как не используя php-операции все сделать в MySQL. Как мне показалось - так это через курсоры. Но там делов еще больше в раза 2-3 ))):
да - нее... Всё нормально (( Оставил в связке php+mysql... Будет когда нить настроение - попробую через курсоры переделать- интересно ((
igordata, могу и сделал... Я же писал выше... Говорю же, просто интересно всё сделать только на mysql без php (( что бы не гонять данные туда-сюда, чисто из за одной функции php - explode. И использовать mysql курсоры (;