|
|
|
| Есть база данных с сообщениями. У каждого сообщения может быть от одной и более категорий(записывается id категории). Например таблица может выглядить так:
id_message | categories
1 | 1,3,4
2 | 6,7
3 | 5
4 | 7,8
Происходит поиск по таблице, приходит список категрий. Например: 2,5,6,9
Надо достать те сообщения, в которых совпадает как минимум одна категория. В моей случае это второе и третье сообщение.
Можно для каждой категории добавить условие с рег. выражением, вот так:
WHERE `categories` REGEXP '2' OR `categories` REGEXP '5' OR `categories` REGEXP '6' OR `categories` REGEXP '9'
(вместо чисел 2,5,6,9 рег. выражение)
А может есть лучше решение? Необязательно решение в самом запросе. | |
|
|
|
|
|
|
|
для: forma
(30.06.2012 в 18:45)
| | Есть - выбросить "1,3,4" и т.п. из базы, так как это кроме неудобства и лишних хлопот ничего не дает. Вместо этого создать внешнюю таблицу связей категорий и сообщений им принадлежащих. | |
|
|
|
|
|
|
|
для: confirm
(30.06.2012 в 18:55)
| | Да, наверное так действительно удобнее. Ж) | |
|
|
|