Здравствуйте.
Кратко о проблеме: есть в базе строка "2,45,85,33,22,25", как при помощи LIKE определить есть ли в этой строке "2"?
LIKE '%2%' не подходит, т.к. это условие не учитывает разделение запятой и среагирует на ",22,".
т.е. как построить запрос LIKE, чтобы он нашел число, окруженное запятыми с обеих сторон, либо только с одной стороны, либо вообще не окружен?
Или другими словами, вокруг искомого теста может быть либо запятая, либо ничего
Заранее спасибо!
1. allasan - 10 Января, 2014 - 12:15:33 - перейти к сообщению
2. DelphinPRO - 10 Января, 2014 - 12:27:23 - перейти к сообщению
нужно использовать связку двух таблиц. а не хранить идентификаторы через запятую в одном поле.
3. allasan - 10 Января, 2014 - 12:34:11 - перейти к сообщению
DelphinPRO пишет:
нужно использовать связку двух таблиц. а не хранить идентификаторы через запятую в одном поле.
Нет нужно именно так. Объясню на примере. Есть статья, статья принадлежит нескольким городам, IDшники городов находятся в поле gorod таблицы statya.
4. IllusionMH - 10 Января, 2014 - 12:46:11 - перейти к сообщению
allasan, это не так нужно, это так криво реализовано!
Если не ходите сделать по-человечески - 12[dot]5[dot]2[dot] Regular Expressions
Если не ходите сделать по-человечески - 12[dot]5[dot]2[dot] Regular Expressions
5. Мелкий - 10 Января, 2014 - 12:49:03 - перейти к сообщению
Использовать нормальную внешнюю таблицу отношений.
Докажите.
Так как у вас - не делается.
allasan пишет:
Нет нужно именно так.
Докажите.
Так как у вас - не делается.
6. SAD - 10 Января, 2014 - 12:50:25 - перейти к сообщению
добавляете слева и справа по запятой и LIKE '%,2,%'
если, конечно, не хотите сделать правильно, как Вам предлагают
так как это айдишники, то однозначно правильно делать таблицу связей
если, конечно, не хотите сделать правильно, как Вам предлагают
так как это айдишники, то однозначно правильно делать таблицу связей
7. imya - 10 Января, 2014 - 13:02:07 - перейти к сообщению
allasan пишет:
вокруг искомого теста может быть либо запятая, либо ничего
?
Неккоректно, судя по архитектуре, но если Вы не хотите перерабатывать её, попробуйте такой вариант.