powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не как не получается простой запрос. Подскажите, если есть время.
6 сообщений из 6, страница 1 из 1
Не как не получается простой запрос. Подскажите, если есть время.
    #32468693
kvn75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите написать запрос. Есть таблица “Поиск”, и таблица “ОписаниеТовара”.

Поиск:

КодПризнака:
1
2
3

ОписаниеТовара:
КодТовара: КодПризнака:
1 | 1
1 | 2
1 | 3
2 | 1
2 | 3
3 | 2
3 | 1
4 | 5
4 | 6
4 | 7

Как написать запрос чтобы найти в таблице “ОписаниеТовара”, только тот Товар, которому соответствуют все признаки из таблицы «Поиск». В этом примере (КодТовара=1).
...
Рейтинг: 0 / 0
Не как не получается простой запрос. Подскажите, если есть время.
    #32468881
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
select *
from [Товар] good
where not exists (select  1  
from [Поиск] search
where not exists (select  1 
from [ОписаниеТовара] descr
where descr.[КодТовара] = good.[КодТовара] and
descr.[КодПризнака] = search.[КодПризнака]))
...
Рейтинг: 0 / 0
Не как не получается простой запрос. Подскажите, если есть время.
    #32469051
kvn75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за совет. Честно говоря, я не понял. В тестовом примере, который я описал всё работает, а вот на реальных таблицах нет. Не могли бы вы объяснить смысл

select *

from [Товар] good

where not exists (select 1

from [Поиск] search

where not exists (select 1

from [ОписаниеТовара] descr

where descr.[КодТовара] = good.[КодТовара] and

descr.[КодПризнака] = search.[КодПризнака]))

что такое Select 1? А если признак другой? Мне очень стыдно, но я не догоняю. Если не сложно, разжуйте. С уважением KVN75
...
Рейтинг: 0 / 0
Не как не получается простой запрос. Подскажите, если есть время.
    #32469108
kvn75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь всё работает.
Только мне нужно, чтобы соответствие было полным.
То есть если в таблицы «Поиск» указан только один признак «КодПризнака=1», запрос не возвращал бы три записи из таблицы «Товар» (КодТовара=1, 2, 3,), а только если все три признака совпадают.
...
Рейтинг: 0 / 0
Не как не получается простой запрос. Подскажите, если есть время.
    #32469349
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select *
from [Товар] good
where not exists (select  1  
from [Поиск] search
where not exists (select  1 
from [ОписаниеТовара] descr
where descr.[КодТовара] = good.[КодТовара] and
descr.[КодПризнака] = search.[КодПризнака])) and
not exists (select  1  
from [ОписаниеТовара] descr
where descr.[КодТовара] = good.[КодТовара] and
not exists (select  1 
from [Поиск] search
where descr.[КодПризнака] = search.[КодПризнака]))
...
Рейтинг: 0 / 0
Не как не получается простой запрос. Подскажите, если есть время.
    #32469564
kvn75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое Павел. Вы меня очень выручили. Всё получилось.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не как не получается простой запрос. Подскажите, если есть время.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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