Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как сделать такой запрос в SQL? / 6 сообщений из 6, страница 1 из 1
15.12.2002, 23:55
    #32079575
pairri
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такой запрос в SQL?
Каждому клиенту предлагались какие-то товары. Соответственно есть таблица 1 с полями ID клиента и ID товара. Таблица2 с полями ID товара и название товара. (Есть еще и таблица3: ID клиента и название клиента, но это уже вряд ли нужно).
Требуется сделать запрос, выдающий список товаров, которые не предлагались данному клиенту. Результат планируется запихнуть в список в форме.
Пытался сваять запрос типа такого:

SELECT [tovar].[tovarCode], [tovar].[tovarName] FROM [tovar] WHERE [tovar].[tovarCode]<>(SELECT Offer.tovarCode FROM Offer WHERE Offer.IDclient=1);

Ругается. Говорит, что присоединенный запрос должен возвращить только одно значение.

Может, посоветуете, как быть?

Можно ли вообще в ACCess'е создавать временные таблицы? А то я нигде не могу найти такой информации. В данном случае наверное можно было бы перед открытием формы создать временную таблицу с результатами tovarCode. В этом случае все было бы просто.
...
Рейтинг: 0 / 0
16.12.2002, 06:28
    #32079587
Aladdin2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такой запрос в SQL?
Все проще: Join'ишь их по лефту от клиента, где Idтовара IS NULL
...
Рейтинг: 0 / 0
16.12.2002, 10:28
    #32079668
AlexJuice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такой запрос в SQL?
... это на первый вопрос.
А на второй - ну как бы нельзя.
Но можно ведь создать таблицу средствами VBA/SQL, а потом через VBA же ее и DROP'нуть
...
Рейтинг: 0 / 0
16.12.2002, 11:35
    #32079743
Sinner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такой запрос в SQL?
вместо <> поставить NOT IN
...
Рейтинг: 0 / 0
16.12.2002, 21:46
    #32080122
pairri
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такой запрос в SQL?
Aladdin2
Не уверен, что все так уж просто. Я, правда, левое с правым путаю. Может, не понимаю чего...
По моему мнению, таблица2 LEFT JOIN таблица1..., где Idтовара IS NULL выдаст список товаров, которые не предлагались НИКАКОМУ клиенту. А мне нужно получить список товаров, которые не предлагались КОНКРЕТНОМУ клиенту. Может быть, Вы имели ввиду запрос, который включает в себя сразу три таблицы? Тогда я просто не понимаю, как его написать. Если не сложно - подскажите, пожалуйста.

AlexJuice
Да я, вобщем-то, через стационарную таблицу всегда и гонял временные данные. Думал, может что покрасивее есть.
...
Рейтинг: 0 / 0
16.12.2002, 22:25
    #32080137
pairri
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как сделать такой запрос в SQL?
sinner
Вроде бы заработало. Спасибо большое.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / как сделать такой запрос в SQL? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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