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

SELECT FROM Товары INNER JOIN Заказы ON Товары.Код = Заказы.Код
а такая нет:
SELECT FROM Товары INNER JOIN Заказы ON Товары.Код <> Заказы.Код

Какие есть решения?
з.ы. Кроме содание новой таблицы... удаления уже существующих...
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591600
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мастер есть для построения таких запросов.
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591609
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT * FROM Товары where Товары.Код not in (select * Заказы.Код from Заказы)
так, что ли?
Или, если я не понял вопроса, то мастер есть — записи без подчиненных
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591611
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО
1. Оба запроса работать не будут (ибо между Select и From, что быть должно)
2. Мастер не умеет ставить <> при объединении таблиц
3. У меня всегда работало, после замены условия склейки - путем замены знака равенства на другую операцию сравнеия. Почему у вас не выходит, остается только гадать. (Может вы нам не весь запрос показали?)
4. Что значит не работает: Выдает ошибку синтаксиса? Не верный результат выдает?
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591615
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vw
SELECT FROM Товары INNER JOIN Заказы ON Товары.Код = Заказы.Код
а такая нет:
SELECT FROM Товары INNER JOIN Заказы ON Товары.Код <> Заказы.Код

Какие есть решения?

А что хочется получить на выходе второго запроса?
Товары, которые не попали в заказ?
тогда это неправильный запрос - в корне неправильный.
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591633
Фотография Vw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно сравнить две таблицы по полю "КОД"
и тех записей которых нет в одной (в данном случае "заказы") отобразить.
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591637
Фотография dalai lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
SELECT * FROM Товары, Заказы WHERE Товары.Код<> Заказы.Код

зачем люди городят такое:

Код: plaintext
SELECT * FROM Товары where Товары.Код not in (select Заказы.Код from Заказы)

это оптимизатор чтоли лучше кушает?
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591642
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо просто другой тип JOIN-а использовать
примерно так:
Код: plaintext
1.
2.
SELECT t.*, o.Код FROM Товары t OUTER JOIN Заказы o ON t.Код=o.Код
WHERE o.Код is NULL
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591647
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dalai lamer
Код: plaintext
SELECT * FROM Товары where Товары.Код not in (select Заказы.Код from Заказы)

это оптимизатор чтоли лучше кушает?

Поидее еще лучше будет кушать так:
Код: plaintext
1.
SELECT * FROM Товары 
where NOT exists (select Заказы.Код from Заказы WHERE Товары.Код = Заказы.Код)
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591654
Фотография dalai lamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bely dalai lamer...

Да??? не знал... mysqlьное прошлое довлеет, не люблю вложенные запросы
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591655
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторSELECT * FROM Товары, Заказы WHERE Товары.Код<> Заказы.Код
Это от структуры INNER JOIN ни чем не отличается
Такая конструкция по сути не верна - ибо выдает не верный результат, а не ошибку синтаксиса - просто чел. не совсем доганяет что он попросил не то что хотел

1. Смотрим вариант с not in (он мне не нравиться - Акс таких шуток с большим объемом данных не понимает и начинает жутко тормозить - но вариант рабочий)
2. Либо сделать через Left Join
Код: plaintext
1.
2.
3.
Select Товары.*
From Товары Left Join Заказы
On Товары.Код = Заказы.Код
Where Заказы.Код Is Null
...
Рейтинг: 0 / 0
Запрос на несовпадение
    #32591674
Фотография Vw
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Остановитесь мужики !!!
Я всё понял !
Действительно есть мастер.
Спасибо за урок !!!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на несовпадение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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