powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск несовпадений в двух таблицах
6 сообщений из 6, страница 1 из 1
поиск несовпадений в двух таблицах
    #32267191
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
У меня есть две таблицы:
в одной (назовем ее small_table)есть поле name. В нем находится обобщенное наименование детали: труба, фланец, гайка
в другой (big_table) есть также поле name. В нем находится развернутое наименование: труба сечением 15х15, фланец оцинкованный, болт шестигранный
Задача такова:
выбрать из таблицы big_table те записи, части которых не встречаются в таблице small_table
Для данного примера в результирующем запросе должна быть одна запись:
болт шестигранный, так как труба и фланец присутствуют в таблице small_table, а болт - нет.
Как это можно сделать по возможности средствами SQL-92? Если это нельзя - то как с SQL-ом аксесовским?
Заранее спасибо!
...
Рейтинг: 0 / 0
поиск несовпадений в двух таблицах
    #32267218
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT Таблица2.nnnn, Min([nnnn] Like "*" & [mmmm] & "*") AS Выражение1
FROM Таблица1, Таблица2
GROUP BY Таблица2.nnnn
HAVING (((Min([nnnn] Like "*" & [mmmm] & "*"))=0));

Где Таблица1 выполняет роль SmallTable, Таблица 2 - BigTable.

Вот только работать такой запрос с большим объемом данных совсем не быстро будет.
...
Рейтинг: 0 / 0
поиск несовпадений в двух таблицах
    #32267229
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имеет смысл подумать о нормализации базы данных - таком виде никуда не годится.

- должна быть таблица элементы деталей с числовым уникальным индексом и кратким и полным описанием

- таблица собранные детали, содержащая параметры собранной детали
- таблица со связью один со стороны детали ко многим со стороны элементы содержащая список элементов собранной детали.

после получения подобной структуры базы данных не составит труда получить любую информацию элементарным и быстрым запросом.

а в результате любого запроса по нереляционным таблицам нет гарантии в верности результатов - вот пример : ТРУБА - TPУБA в первом случае все буквы кирилица во втором буквы TP A латиница + возможны грамматические ошибки.
...
Рейтинг: 0 / 0
поиск несовпадений в двух таблицах
    #32267246
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто таблица small_table содержится в одной базе данных, а таблица big_table - в другой. В таблице big_table содержится информация об элементах спецификации чертежа, поэтому нормализация не проходит (не моя база данных).
...
Рейтинг: 0 / 0
поиск несовпадений в двух таблицах
    #32267264
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
 -- SQL 92
 
select *
from big_table a
where not exists (select  1  from small_table b where a.name like '%' || b.name || '%')
...
Рейтинг: 0 / 0
поиск несовпадений в двух таблицах
    #32268669
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за предложенные решения, все заработало! Тема закрыта.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск несовпадений в двух таблицах
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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