Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выбрать несвязанные записи
 
 автор: Stanislav   (01.04.2010 в 05:05)   личное сообщение
 
 

MSA 2007.
Есть 3 таблицы:
1 таблица Company (список компаний):
Поля: CompanyID, CompanyName
2 таблица Contact (список контактов):
Поля: ContactID, ContactName.
3 таблица Company_Contact (привязка контакта к компании):
Поля: ID, CompanyID, ContactID

Первая таблица связана со второй через третью.

Требуется написать запрос, выбирающий контакты, которые не привязаны ни к одной компании, т.е. контакты для которых нет ни одной записи в таблице Company_Contact.

Сам вот мыслю, что надо так:
запрос 1: выбрать все ContactID из таблицы Contact.
запрос 2: выбрать все ContactID из таблицы Company_Contact
Исключить из результатов запроса 1 результаты запроса 2.
Только не знаю, какой командой это сделать.

  Ответить  
 
 автор: Stanislav   (01.04.2010 в 06:29)   личное сообщение
 
 

Вооружился книжкой "Access 2002. Разработка настольных приложений." (Литвиц, Гетц, Гунделой). И у меня получилось это сделать вот так:
SELECT Contact.ContactID, Contact.ContactName
FROM Contact
WHERE Contact.ContactID Not In (SELECT ContactID FROM Company_Contact)

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList