Как правильно написать SQL запрос
Страницы: 1 2 След.
Как правильно написать SQL запрос, нужно найти запис в таблице в поле которого "1" но не как вхождение "1" в "11" к примеру
Есть записи с полем типа varchar, нужно сделать выборку  точного вхождения например 1 в поле но не как ни 11, 41, 121 и так далиЗаписи в полях имеют такой вид
1,45,67
89,11,90,50
4,14
412,10,9,89,63

пробовал LIKE %% но он выбирает все записи в которых попадается любое  вхождение искомого числа

Прогон по твиттеру, постинг в 1500 аккунтов
Постинг в твиттер аккаунты, для ускорения индексации ваших сайтов, сателлитов, дорвеев.

WHERE имяполя='1'
Цитата
Олег Гречина пишет:
WHERE имяполя='1'
вы явно не поняли....

Цитата
maxon390 пишет:
412,10,9,89,63
Нужно перебивать данные... делать типа !1!,!22!,!11!,!89! и тд... а после этого у вас получится делать выборку like %!1!%. Помоему, здесь только такой выход...
Изменено: mons - 13 Июля 2012 13:49
заходишь на американский форум, задаешь вопрос, тебе объясняют, как ее решить
заходишь на еврейский, задаешь вопрос, тебе предлагают, купить решение за деньги
заходишь на русский форум, задаешь вопрос и тебе весь форум объясняет, что ты мудак
Цитата
mons пишет:
Нужно перебивать данные... делать типа !1!,!22!,!11!,!89! и тд... а после этого у вас получится делать выборку like %!1!%. Помоему, здесь только такой выход...
То есть использовать любые разделительные знаки, как бы обволакивая цифру!

Больше других способов нет?
Цитата
maxon390 пишет:
Цитата
mons пишет:
Нужно перебивать данные... делать типа !1!,!22!,!11!,!89! и тд... а после этого у вас получится делать выборку like %!1!%. Помоему, здесь только такой выход...
То есть использовать любые разделительные знаки, как бы обволакивая цифру!

Больше других способов нет?
Смотрите, оператор лайк ищет вхождение, символы % обрезают все слева и справа и в итоге получаем то, что искали, но результатов может быть много, вот поэтому прийдется "обволакивать" цифры, тогда получим точное вхождени данного символа.
Цитата
mons пишет:
Смотрите, оператор лайк ищет вхождение, символы % обрезают все слева и справа и в итоге получаем то, что искали, но результатов может быть много, вот поэтому прийдется "обволакивать" цифры, тогда получим точное вхождени данного символа.
А если так:
LIKE 28%

Что если в начале нет знака % то в искомом поле тоже не должно быть ничего быть, так?
Почитайте здесь, может поможет.

Функция


CREATE FUNCTION SPLIT_STR(x VARCHAR(255), delim VARCHAR(12), pos INT )
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
delim, '');

Использование


SELECT SPLIT_STR(string, delimiter, position)

Пример


SELECT SPLIT_STR('a|bb|ccc|dd', '|', 3) as third;
Цитата
Jaguar пишет:
SELECT SPLIT_STR(string, delimiter, position)
Позиция заранее не известнаsmile:(, число может быть и в середине, в конце и в где нибуть в середине перечисления так что скорей всего не подходит

Почитав про LIKE пришол к выводу что можно сделать так
 
SELECT таблица WHERE поле LIKE число%,  LIKE %,число,%,  LIKE %,число
первый  LIKE ищет нет ли искомого числа в диапазоне на первой позициивторой LIKE ищет нет ли искомого числа в середине перечисления
третий LIKE в конце 

Ну как думаете сработает такая конструкция? Попробовать сейчас не могу так как на работе
Цитата
maxon390 пишет:
SELECT таблица WHERE поле LIKE число%, LIKE %,число,%, LIKE %,число
можно так попробывать : SELECT таблица WHERE поле LIKE число,% or LIKE %,число,% or LIKE %,число  но на 100% неуверен.
Цитата
mons пишет:
LIKE число,%
Вот именно и с первым числом наверное и будут проблемы, так как после него может и не быть комы то есть в поле может быть только одно число но тогда думаю мне нужно попробовать 
SELECT таблица WHERE поле LIKE число or LIKE число,% or LIKE %,число,% or LIKE %,число 

нужно будет попробовать когда домой прийду
Цитата
maxon390 пишет:
Позиция заранее не известнаsmile:(, число может быть и в середине, в конце и в где нибуть в середине перечисления так что скорей всего не подходит
Нужно проверить каждую позицию.
Цитата
Jaguar пишет:
Цитата
maxon390 пишет:
Позиция заранее не известнаsmile:(, число может быть и в середине, в конце и в где нибуть в середине перечисления так что скорей всего не подходит
Нужно проверить каждую позицию.
Я ж так сервер положу, пускай у меня сейчас 600 записей умножить на пускай 10 позиций в поле(чисел в поле) получается 6000 запросов чтобы загрузить одну страничку
Надо написать в одном запросе.
Цитата
Jaguar пишет:
Надо написать в одном запросе.
Приведи пример а то я не совсем понимаю как можно в одном запросе это сделать?
SELECT id,имя,год FROM фильмы WHERE flag_moderation=1 AND cast LIKE '$id,%' OR LIKE '%,$id,%' ORDER BY year DESC
пробовал и так
WHERE flag_moderation=1 AND (cast LIKE '$id,%' OR LIKE '%,$id,%') ORDER BY year DESC
Не хочет выборку делатьsmile:mad:

как правильно написать нигде не могу найти подобного условия
Страницы: 1 2 След.
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
01:01 Цена HTTPS 
00:30 СЕОшник за 20000 руб составил мне title, description, keywords. Отлично составил 
21:20 CBDPartners - лучшее решение для CBD трафика, запрыгивай в новую нишу! 
20:06 Выдача 15.01.2021 | Есть изменения? 
19:06 ClickDealer- свои люди на рынке буржа! 
17:47 RuCaptcha - обсуждение, отзывы, предложения. 
15:15 Adtrafico - Правильная партнёрская сеть под бурж трафик 
02:19 Todex.io - Быстрый и надежный обменник 
21:26 ISMM.STORE - Оптовый сервис накрутки в социальные сети 
17:43 Мастер шаблона размножения статей + Ручной синонимизатор-рерайтер 
17:41 Размножение статей качественно 
14:19 World-Bases.com - Списки сайтов и доменов на различных CMS: WordPress, Joomla, Magento, Drupal etc. 
13:03 Качественно Быстро и недорого Раскрутка в Социальных Сетях, Ссылки, Трафик на Сайт. 
11:52 Пишу тексты для киносайта, недорого и креативно 
00:12 Великая Америка! 
22:25 $270 млн выброшено на помойку 
22:20 Обещанный снеговик 
15:50 СМИ: сторонники Трампа готовят вооруженный мятеж с помощью Telegram 
15:22 [b]Webvork [/b]- международная товарная СРА сеть с сертифицированными офферами на Европу. 
15:17 Leadgid — международная финансовая партнерская CPA сеть 
12:49 Для чего надо учиться?