![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 12.12.2009
Сообщений: 18
|
![]()
Здравствуйте!
Подскажите, пожалуйста. Имеются две таблицы, по тридцать полей в каждой. Ключевое поле не задано. Задача: удалить из таблицы 1 все записи, значения полей которых совпадают с значениями полей одной из записей таблицы 2. По моему понятно объяснил. Хотелось бы оформить в виде SQL запроса. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Kingson.
для решения подобных задач используются зарезервированные слова EXISTS или NOT EXISTS. Найти информацию можно в справочной системе MS Access, в учебнике или на сайте производителя. Евгений. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 12.12.2009
Сообщений: 18
|
![]()
Здравствуйте, Евгений!
Я составил такой вот запрос: SELECT * FROM Старая WHERE EXISTS (SELECT * FROM Разностная, Старая WHERE Разностная.N_OKATO=Старая.N_OKATO AND Разностная.FULLNAME=Старая.FULLNAME AND Разностная.СТАТУС=2) По моей логике я должен получить список из таблицы Старая, куда входят лишь записи присутствующие в списке из подчиненного запроса. Подчиненный запрос действительно работает. А вот в итоге я получаю полную таблицу Старая. Не понимаю почему. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 12.12.2009
Сообщений: 18
|
![]()
Одну ошибку я, кажется, нашел.
Выбросил Старую из подчиненного запроса. В результате: SELECT * FROM Старая WHERE EXISTS (SELECT * FROM Разностная WHERE Разностная.N_OKATO=Старая.N_OKATO AND Разностная.FULLNAME=Старая.FULLNAME AND Разностная.СТАТУС=2) И компьютер задумался. Вот уже минут двадцать думает. А ведь мне бы неплохо еще по 28 полям сравнить. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 11.11.2008
Сообщений: 101
|
![]()
Я бы сделала так (плохо знаю SQL): Объединить обе таблицы (предварительно сделав копии). А потом использовать системный запрос Find Duplicate Query Wizard. Результатом запроса будет таблица с повторяющимися записями и будет создано поле, в котором указывается, сколько раз повторяется запись.
Повторяющиеся записи легко увидеть после сортировки исходной таблицы. Ну. и удалить ненужное. Если нужно обязательно SQL - автоматически составленный запрос на SQL можно посмотреть и добавить вручную, что надо. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заполнение одной таблицы из другой | Ольга Ларина | Microsoft Office Excel | 8 | 08.02.2010 19:10 |
авт. перенос данных из нескольких столбцов одной таблицы в один столбец другой таблицы | A_ALL | Microsoft Office Access | 7 | 24.08.2009 21:13 |
Как переносить часть записи из одной таблийы в подстановочное поле другой? | Andr_zdes | Помощь студентам | 2 | 22.05.2009 10:37 |
Отбор данных из одной таблицы и создание из них другой!!! | HuLiGaN | Microsoft Office Excel | 16 | 31.03.2009 03:28 |
Заполнение одной таблицы данными из другой | melok_s | Microsoft Office Excel | 7 | 20.11.2008 03:56 |