powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / оператор exists
14 сообщений из 14, страница 1 из 1
оператор exists
    #39241899
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую
Я пытаюсь сделать запрос в БД, который выдаст мне разницу между двумя таблицами где одно поле совпадает, а два других разняться. В чем косяк? или лучше это дело джойнами сделать?



SELECT Basa_KL.kod, Basa_KL.Instr_id, Basa_KL.punkt
FROM Basa_KL
WHERE EXISTS (SELECT Sravnenie_Basa_KL.kod, Sravnenie_Basa_KL.Instr_id, Sravnenie_Basa_KL.punkt FROM sravnenie_Basa_KL WHERE Basa_KL.kod=sravnenie_Basa_KL.kod and Basa_KL.Instr_id<>[sravnenie_Basa_KL].[Instr_id] and Basa_KL.punkt<>[sravnenie_Basa_KL].[punkt])
...
Рейтинг: 0 / 0
оператор exists
    #39241904
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanили лучше это дело джойнами сделать?Лучше. Во всяком случае нагляднее, логика сразу видна.
...
Рейтинг: 0 / 0
оператор exists
    #39241915
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

а как сделать RIGHT OUTER JOIN в access?
...
Рейтинг: 0 / 0
оператор exists
    #39241919
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте СТРОГО сформулировать ЗАДАЧУ.
...
Рейтинг: 0 / 0
оператор exists
    #39241927
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

есть две таблицы, в них три столбца. Мне нужно выбрать из них те которые есть в одной, но нет в другой, но не просто разницу, а по определенному фильтру где одно зачение будет совпадать, а два других отличаться. Так ясно?
...
Рейтинг: 0 / 0
оператор exists
    #39241937
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RetvisanТак ясно?Не до конца.
Необходимо выбрать только те записи, что есть в первой таблице, но отсутствуют во второй? или и наоборот тоже?
А если первое и второе поля равны, а третье нет - эта запись должна попасть в выходной набор или нет?
...
Рейтинг: 0 / 0
оператор exists
    #39241942
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,


AkinaНеобходимо выбрать только те записи, что есть в первой таблице, но отсутствуют во второй? или и наоборот тоже?
наборот не надо)

AkinaА если первое и второе поля равны, а третье нет - эта запись должна попасть в выходной набор или нет?
да, должна
...
Рейтинг: 0 / 0
оператор exists
    #39241962
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда наверное тупо
Код: vbnet
1.
2.
3.
4.
SELECT t1.*
FROM t1 
LEFT JOIN t1 ON t1.f1=t2.f1 AND t1.f2=t2.f2 AND t1.f3=t2.f3
WHERE t2.f1 IS NULL
...
Рейтинг: 0 / 0
оператор exists
    #39241965
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон,
Код: vbnet
1.
LEFT JOIN t2
...
Рейтинг: 0 / 0
оператор exists
    #39241973
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

авторAND t1.f2=t2.f2 AND t1.f3=t2.f3

мб нужно так?
AND t1.f2<>t2.f2 AND t1.f3<>t2.f3
...
Рейтинг: 0 / 0
оператор exists
    #39242033
Retvisan, запрос правильный при условии, что в полях нет Null.
Он у вас вообще не работает или выдает не то, что хочется?
...
Рейтинг: 0 / 0
оператор exists
    #39242076
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Retvisanмб нужно так? обоснуй.
...
Рейтинг: 0 / 0
оператор exists
    #39242086
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

SELECT DISTINCT Basa_KL.*
FROM Basa_KL LEFT JOIN sravnenie_Basa_KL ON sravnenie_Basa_KL.kod = Basa_KL.kod
WHERE Basa_KL.Instr_id NOT IN (SELECT sravnenie_Basa_KL.Instr_id FROM sravnenie_Basa_KL) or
Basa_KL.punkt NOT IN (SELECT sravnenie_Basa_KL.punkt FROM sravnenie_Basa_KL);



вот что получилось, работает
пришлось поставить DISTINCT иначе выдает дубликаты
...
Рейтинг: 0 / 0
оператор exists
    #39242090
Retvisan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

выдавал не то что хочется)
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / оператор exists
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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