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

есть таблица (Main) в ней есть поле (nm),которое содержит такие строки:

1,2,3,6,7
2,4,5,6,7
3,4
1,2,3,4

есть форма со списоком с несвязным выделением , в нем я могу выбрать к примеру одну строку со значением (1) или несколько: типа (2,5,6)
мне требуется сделать поиск всех строк в таблице(Main) , которые содержат значения которые я выбрал в списке....
типа:
select id from Main where nm содержит! ( значения списка)
...
Рейтинг: 0 / 0
помогите с запросом
    #32669421
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дэлай раз: в таблицу, присоединенной к списку, добавляеш поле switch (логическое). При выделении строки в списке ставим галку
Дэлай дваз:
Код: plaintext
select id from Main where nm IN (select nm from MyTable where switch = true)
...
Рейтинг: 0 / 0
помогите с запросом
    #32669456
OlegR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
похоже работать не будет.
если в списке выберем 1 значение то
получится
select id from Main where nm IN (1)

1,3,4 IN 1 не работает , если наоборот то да
...
Рейтинг: 0 / 0
помогите с запросом
    #32669514
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строку запроса придется формировать программно, добавляя в условие "Like" значение выделенных элементов списка и обединяя их операцией "or".
Получится должно что-то вроде
Select * From Main Where nm Like '*1*' or nm Like '*3*' or nm Like '[5-9]'

см. справку по Like и справку по обработке списков с несвязаннм выделением.
...
Рейтинг: 0 / 0
помогите с запросом
    #32669529
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegRпохоже работать не будет.
если в списке выберем 1 значение то
получится
select id from Main where nm IN (1)

1,3,4 IN 1 не работает , если наоборот то да
Тебе дан правильный ответ. Ты имееш ввиду абсолютно не взаимосвязанные вещи. Даже не знаю как это объяснить.
"1,3,4" - это значение поля
"1" - это тоже значение поля
"По умолчанию" значение поля рассматривается как единое целое.
Дальше думай сам
...
Рейтинг: 0 / 0
помогите с запросом
    #32669533
OlegR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сеньк за поддержку, у меня этот вариант припасен, хотелось узнать есть ли возможность сравнения двух строк/рядов типа 1,2,3,4 и 2,4 вот

вариант с LIKE при выборе около 20 строк будет громоским...

если нет выхода, то придется работать с LIKE
...
Рейтинг: 0 / 0
помогите с запросом
    #32669538
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegRСеньк за поддержку, у меня этот вариант припасен, хотелось узнать есть ли возможность сравнения двух строк/рядов типа 1,2,3,4 и 2,4 вот

вариант с LIKE при выборе около 20 строк будет громоским...

если нет выхода, то придется работать с LIKE
F1 InStr, Mid, Left, Right ...
Одним словом - хлопотно это :)
...
Рейтинг: 0 / 0
помогите с запросом
    #32669540
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напиши свою функцию которая делает тоже что и Like, только для всех значений из списка сразу и вставь её в запрос.
...
Рейтинг: 0 / 0
помогите с запросом
    #32669549
OlegR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
N_AНапиши свою функцию которая делает тоже что и Like, только для всех значений из списка сразу и вставь её в запрос.
хе..... надо чтобы к понедельнику было готово, а с этим буду разбираться неделю...
в принципе есть split(), если им разбивать каждую строку nm в массив и сравнивать его с массивом из списка .....
как эта идея???
или лучще вариант с Like????
...
Рейтинг: 0 / 0
помогите с запросом
    #32669554
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я хоть и не знаю всю задачу, но мне кажется, что проблема кроется в корне. Как значения 1,2,3,4 оказываются в одной ячейке? Наверное тоже не "легким движением руки". Отсюда вопрос: а зачем сначала забивать все в кучу, а потом разбирать ее??????????????
...
Рейтинг: 0 / 0
помогите с запросом
    #32669565
N_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторв принципе есть split(), если им разбивать каждую строку nm в массив и сравнивать его с массивом из списка .....
как эта идея???
или лучще вариант с Like????за то время что существует этот топик можно было-бы попробывать все 3 варианта, главное начать.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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