Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/40: Рейтинг темы: голосов - 40, средняя оценка - 4.90
13 / 11 / 0
Регистрация: 21.06.2012
Сообщений: 66

Запрос: вывести все записи одной таблицы, и совпадающие записи другой

10.07.2012, 20:53. Показов 8433. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
SQL
1
2
SELECT [Compare].ФИО AS ФИО, [SOURCE].Паспорт AS [Номер паспорта], [SOURCE].Телефон AS Телефон
FROM SOURCE INNER JOIN Compare ON ([SOURCE].ФИО=[Compare].ФИО) AND ([SOURCE].Паспорт=[Compare].Паспорт);
Запрос выдает совпадения записей Source <> Compare по ФИО и номеру паспорта+телефон, нужно ещё допилить сюда условность, если для записи Compare нет совпадения по ФИО и номеру, то тоже выводить, но в графе телефон ничего не писать.

Как это реализовать?

Попробовал вот так:
SQL
1
2
3
SELECT [Запрос Выбрать совпадения по ФИО и Паспорту].ФИО
FROM [Запрос Выбрать совпадения по ФИО и Паспорту], Compare WHERE
NOT EXISTS(SELECT[Compare].ФИО FROM [Compare] WHERE [Запрос Выбрать совпадения по ФИО и Паспорту].ФИО=[Compare].ФИО);
Но аксес ругается. Как поправить, или как по другому сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.07.2012, 20:53
Ответы с готовыми решениями:

Использование двух записей одной таблицы в одной записи другой
Всем привет! Есть таблица &quot;Application&quot;, в ней есть 2 поля, которые содержат: ID пользователя, который запись создал и ID...

Как сортировать записи одной таблицы по результатам другой?
У меня есть две таблицы 'Персоны' и 'Фото'. Таблицы связаны между собой 'Персоны.АйДи' ко множеству 'Фото.Персона_АйДи' То есть на каждой...

Дан файл записей. Одно из полей записи ФИО. Вывести все записи в виде таблицы в алфавитном порядке ФИО
Я сделал ввод файла, а вот как сделать такой вывод не знаю. Помогите пожалуйста. Каждая запись содержит поля: • ФИО; • пол; ...

7
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
10.07.2012, 22:31
Не очень четко прописано ТЗ, пробуйте так
SQL
1
2
SELECT [Compare].ФИО AS ФИО, [Compare].Паспорт AS [Номер паспорта], [SOURCE].Телефон AS Телефон
FROM Compare LEFT JOIN SOURCE ON ([SOURCE].ФИО=[Compare].ФИО) AND ([SOURCE].Паспорт=[Compare].Паспорт)
Возможно нужен вариант, когда [Compare] и [SOURCE] поменяны местами.
1
13 / 11 / 0
Регистрация: 21.06.2012
Сообщений: 66
10.07.2012, 22:34  [ТС]
minob, так или иначе это не совсем то =) ПРосто ввести совпадения, у меня выводит.

При помощи таблицы Compare мы ищём записи в таблице Source, на основе данных из таблицы Compare. Но вот незадача, в таблице Compare могут быть записи, которые не совпадают ни по ФИО ни по паспорту, либо их вобще нет в Source, и их тоже нужно выводить в результ. таблицу запроса.
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
10.07.2012, 23:17
Цитата Сообщение от Человек_Борща Посмотреть сообщение
так или иначе это не совсем то =)
Вы теоретизируете или уже проверили запрос?
Он вам возвратит все записи таблицы Compare, при этом, если в таблице SOURCE есть запись совпадающая по ФИО и паспорту с записью Compare, то выведется телефон, находящийся в поле табл. SOURCE, а иначе поле телефон запроса будет пусто.
0
13 / 11 / 0
Регистрация: 21.06.2012
Сообщений: 66
10.07.2012, 23:30  [ТС]
minob, практически. В первом посте
SQL
1
2
SELECT [Compare].ФИО AS ФИО, [SOURCE].Паспорт AS [Номер паспорта], [SOURCE].Телефон AS Телефон
FROM SOURCE INNER JOIN Compare ON ([SOURCE].ФИО=[Compare].ФИО) AND ([SOURCE].Паспорт=[Compare].Паспорт);
это запрос вводит точные совпадения по ФИО и Паспорту+Телефон и работает как надо.

Другой вопрос, что в Compare могут быть записи, которых может не быть в Source, но их так же нужно включить в результат, а в место телефона выводить пустое поле.
0
3544 / 1118 / 94
Регистрация: 13.03.2011
Сообщений: 1,513
10.07.2012, 23:42
Цитата Сообщение от Человек_Борща Посмотреть сообщение
Другой вопрос, что в Compare могут быть записи, которых может не быть в Source, но их так же нужно включить в результат, а в место телефона выводить пустое поле.
Ну, так мой запрос это и делает.
Найдите несколько отличий в запросах. Подсказка - основное отличие запросов: в вашем INNER JOIN, в моем LEFT JOIN.
1
13 / 11 / 0
Регистрация: 21.06.2012
Сообщений: 66
20.07.2012, 18:57  [ТС]
Доброго времени.
Вопрос все тот же, но БД другая..
Хоть глаз выколи не вижу ошибку:
SQL
1
2
3
SELECT 
[Compare(ФИО+Телефон+Квартира)].[ФИО] AS ФИО, Nz([SOURCE].[Телефон],0) AS Телефон, [SOURCE].[Квартира] AS Квартира FROM [Compare(ФИО+Телефон+Квартира)]  LEFT JOIN SOURCE ON 
([SOURCE].ФИО=[Compare(ФИО+Телефон+Квартира)].ФИО) AND ([SOURCE].Квартира=[Compare(ФИО+Телефон+Квартира)].кв);
Вывести спосок совпадений из таблицы Source по таблице Compare(ФИО+Телефон+Квартира), если телефон не указан, то вставить 0, если записи из Compare не найдено в Souce, то её так же отобразить в результат.

Ну просто аналогично с этим:
SQL
1
2
[Compare].ФИО AS ФИО, [SOURCE].Паспорт AS [Номер паспорта], [SOURCE].Телефон AS Телефон
FROM SOURCE INNER JOIN Compare ON ([SOURCE].ФИО=[Compare].ФИО) AND ([SOURCE].Паспорт=[Compare].Паспорт);
Ткните меня в бревно, которое я не вижу, пожалуйста.
Фиг знает, что делает целых 6 минут, а в результат выводит вообще странные числа, да и запесей <10, когда в Compare 865 записи а в Source пара миллионов.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
23.07.2012, 02:56
1.[Compare(ФИО+Телефон+Квартира)] - у вас так таблица называется? если нет, то что это тогда?
2. Полей подстановки в таблицах нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.07.2012, 02:56
Помогаю со студенческими работами здесь

Как в запросе искать id одной записи в свойстве другой записи?
Дана таблица с деревом категорий CREATE TABLE category ( id integer not null primary key, parent_category_id integer...

Запрос для записи данных одной таблицы в другую
Здравствуйте, есть такой вопрос: можно ли одним запросом записать весь столбец из одной таблицы в другую? Если есть, то как он выглядит?

Связь между таблицами.Обновление одной записи при обновлении другой записи
Всем привет. Делаю БД для курсового проекта. Есть БД сотрудников организаций. Есть таблица &quot;перевод сотрудников&quot; и таблица...

Как к одной записи прикрепить несколько других записей из другой таблицы?
Как к одной записи из AdoTable1 прикрепить несколько записей из ADOTable2 ? например просматриваю я запись 1 из AdoTable1 и в ADOTable2...

Копировать все записи с одной таблицы в другую
Добрый день! подскажите как копировать все записи с одной таблицы в другую? так копируется только одна запись: Fdm.tbl2.Append; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru