powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом на выборку
11 сообщений из 11, страница 1 из 1
Помогите с запросом на выборку
    #33113745
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть таблица

Код: plaintext
1.
2.
3.
4.
5.
id         name               value

 1           Андрей              1 , 2 , 5 
 2           Кира                2 , 8 , 1 
 3           Олег                3 
 4           Сергей              1 , 3 , 4 , 5 , 6 

И есть массив например
$a = array();
$a = (1,5);

нужно сделать выборку чтоб при выводе были только записи где поле value
имеет в наличие числа из массива в данном случае

Код: plaintext
1.
 1           Андрей            1 , 2 , 5 
 4           Сергей             1 , 3 , 4 , 5 , 6 

с условием что числа могут быть и не по порядку.
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33113747
JackS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
where value in $a

не помогает ?
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33113748
JackS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вернее
WHERE value IN (".implode(",", $a).")
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33113755
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JackSвернее
WHERE value IN (".implode(",", $a).")
помоему это малеха не то.
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33113757
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например он выбирает все записи где просто одно из совпадений а этого не нужно
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33113825
JackS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так разбей массив и скриптом сформируй кусок запроса
....
IN (1) AND
IN (5) AND
....

а потом вставь его в скл запрос

.... WHERE value $xPartSQL ....

не 100 же их у тебя в $a

:)
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33114695
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JackSну так разбей массив и скриптом сформируй кусок запроса
....
IN (1) AND
IN (5) AND
....

а потом вставь его в скл запрос

.... WHERE value $xPartSQL ....

не 100 же их у тебя в $a

:)
хе это бы сработало если было поле и одно значение тогда такой вариант покатил бы
Но поле то одно а значений дофига IN тут не подойдет, скорее LIKE? но проблема в том что ища 1, мы можем вывести и просто 11
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33114716
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А все проблемы из-за неправильной структуры базы.
Данные должны быть атомарными.
То есть, проще говоря, не должно быть никакого перечисления через запятую.
В такой задаче нужны две таблицы: Name (id, name) и Value (id, value, name_id).
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33114741
Фотография viv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlА все проблемы из-за неправильной структуры базы.
Данные должны быть атомарными.
То есть, проще говоря, не должно быть никакого перечисления через запятую.
В такой задаче нужны две таблицы: Name (id, name) и Value (id, value, name_id).
БД проэктировал не я, переделывать позно, проект сдан.
Более того уже работает.
Приходится только оптимизировать.
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33114743
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И поле напрочь текстовое, даже не SET?
...
Рейтинг: 0 / 0
Помогите с запросом на выборку
    #33114746
JackS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vivхе это бы сработало если было поле и одно значение тогда такой вариант покатил бы
Но поле то одно а значений дофига IN тут не подойдет, скорее LIKE? но проблема в том что ища 1, мы можем вывести и просто 11

ну LIKE то мне кажется там вообще ни к селу ни к городу ... и вообще вроде в таком случае мне кажется одним-двумя запросами скл-я не обойдёшься .... лучше придумывай алгоритм с программингом ... хотя подумал я если бы в value они хотя бы по возрастанию шли на пример 1,5,8 а не 1,8,5 то можно было бы попытаться какие то маски придумать хотя вроде как тоже утопия ... лучше потрать денёк и переделай принцип работы под нормальную структуру базы как советовали выше это дело и в будущем предотвратит такие задачки :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом на выборку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]