|
|
|
| Товарищи, подскажите с запросом:
есть записи, одно из полей (Val), содерждит числа через запятую:
id Val
1 12,15,17,20
2 12,17,23
3 9,15,18
4 15
задача - выбрать все записи, где в этом поле встречатся определнное число. Например 15.
Делаю так:
select * from table where 15 in (val)
но оно возвращает только те поля, где 15 встречается в чистом виде.
как бы сделать желаемое? | |
|
|
|
|
|
|
|
для: Zilog
(29.07.2010 в 16:50)
| | у Вас таблица ненормализованная | |
|
|
|
|
|
|
|
для: Valick
(29.07.2010 в 16:58)
| | >у Вас таблица ненормализованная
т.е. содержит вычисленные зданные? да, есть такое. Только непонятно, почему оператор отказываетсяпри этом работать - какая ему разница, каков источник поля?
UPD. убрал JOIN, оставил тупо запрос... не катит. В чём может быть проблема? | |
|
|
|
|
|
|
|
для: Zilog
(29.07.2010 в 17:03)
| | Зачем Вы в одном поле содержите несколько ключей? Это неправильно с точки зрения реляционной алгебры. | |
|
|
|
|
|
|
|
для: ols
(29.07.2010 в 17:35)
| | >Зачем Вы в одном поле содержите несколько ключей? Это неправильно с точки зрения реляционной алгебры.
жаба душит плодить лишнюю таблицу - и так от них в глазах рябит. Это крайняя мера :)
так есть выход или нет? если нет, придется делать таблицу... | |
|
|
|
|
|
|
|
для: Zilog
(29.07.2010 в 17:54)
| | Когда создают денормализованную модель, обычно на это идут сознательно и заведомо отказываются от удобных методов обращения к данным.
Есть такая функция FIND_IN_SET, но всё-таки лучше придушить ту жабу кирпичом. | |
|
|
|
|
|
|
|
для: sms-send
(29.07.2010 в 18:21)
| | >Когда создают денормализованную модель, обычно на это идут сознательно и заведомо отказываются от удобных методов обращения к данным.
>
>Есть такая функция FIND_IN_SET, но всё-таки лучше придушить ту жабу кирпичом.
уже придушил, всё работает :)))
всем спасибо! | |
|
|
|