Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Множественный фильтр по наборам из таблицы / 9 сообщений из 9, страница 1 из 1
10.06.2021, 18:13
    #40076987
Demon_248
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Помогите пожалуйста! Не могу справится с задачей:
есть две таблицы 1 Данные 2 Значения
в первой набор данных поля '1 2 3 4 5 ...' во второй значения для фильтра 'а'
как выбрать уникальные записи по фильтру поля 'а' таблицы значения из таблицы данные
всяко пробовал склоняюсь к
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT *
FROM Данные
WHERE  данные.1 in (select a from Значения) and данные.2 in (select a from Значения) and ............;
либо
SELECT *
FROM Данные
WHERE   (select a from Значения where значения.а=данные.1) and  (select a from Значения where значения.а=данные.2) and ....

.....;

все работает если все подзапросы возвращают данные
если в таблице значения нет значений для фильтрции вся конструкция возвращает пусто так как получается and null

возможно ли ипользовать для каждого подзапроса iff для отображения is null?
все перепробовал не получается как отработать если хоть один подзапрос пустой по нему is null или на крайняк like '*'

идея в том, что если не задан какой либо фильтр или группа из данных фильтров выдать выборку and по остальным
...
Рейтинг: 0 / 0
10.06.2021, 18:45
    #40077006
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Demon_248,
посмотрите это:
...
Рейтинг: 0 / 0
10.06.2021, 18:53
    #40077009
Demon_248
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
(iif (exists(select a from значения where а=1),1 in (select а from значения),1 not in (select а from значения) );
но что то смущает особенно not in

я новичек, может быть поможете модернизировать
...
Рейтинг: 0 / 0
10.06.2021, 19:02
    #40077010
Demon_248
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Спасибо! но реализовано макросом, нужен sql
...
Рейтинг: 0 / 0
10.06.2021, 19:11
    #40077013
Demon_248
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Demon_248,
Код: sql
1.
exists(select a from значения where а=1)


и в этом случае отрабатывает всегда false (((
как задать условие
...
Рейтинг: 0 / 0
10.06.2021, 20:40
    #40077022
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Demon_248,
Может я чё не понимаю-но при чем тут exists?
Подключиться к сторонней базе,создать запрос к ней(если надо с параметрами) и назначить его источником строк для combo...Фсё...Или я чего-то не знаю\не понимаю
При Вашем подходе (не понятном мне от слова совсем) что будет если, по какой-либо причине, изменят порядок столбцов в таблице на сервере
...
Рейтинг: 0 / 0
11.06.2021, 05:36
    #40077046
Demon_248
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Код: sql
1.
WHERE  (iif ((select count(0)  from значения,данные where а=1)<>0 ,1 in (select а from значения),1 not in (select а from значения))) and



пришел к такому решению, подскажите насколько верное с точки зрения нагруженности
...
Рейтинг: 0 / 0
11.06.2021, 11:14
    #40077111
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Demon_248
....
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT *
FROM Данные
WHERE  данные.1 in (select a from Значения) and данные.2 in (select a from Значения) and ............;
либо
SELECT *
FROM Данные
WHERE   (select a from Значения where значения.а=данные.1) and  (select a from Значения where значения.а=данные.2) and ....

.....;

все работает если все подзапросы возвращают данные
если в таблице значения нет значений для фильтрции вся конструкция возвращает пусто так как получается and null

возможно ли ипользовать для каждого подзапроса iff для отображения is null?
все перепробовал не получается как отработать если хоть один подзапрос пустой по нему is null или на крайняк like '*'

идея в том, что если не задан какой либо фильтр или группа из данных фильтров выдать выборку and по остальным

А если заменить AND на OR ?
Код: vbnet
1.
WHERE (select a from Значения where значения.а=данные.1) OR (select a from Значения where значения.а=данные.2) OR ....
...
Рейтинг: 0 / 0
11.06.2021, 13:00
    #40077172
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Множественный фильтр по наборам из таблицы
Demon_248
....во второй значения для фильтра 'а'.....
покажите несколько(1-2)значений этого поля
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Множественный фильтр по наборам из таблицы / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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