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

Форум: MS ACCESS

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

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

 
 

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

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

тема: запрос наоборот
 
 автор: larin1069   (17.10.2008 в 22:02)   личное сообщение
 
 

access 2003

Есть 2 таблицы 'r' и 'tfoms'

Делаю запрос

SELECT DISTINCTROW R.OT_PER, R.OT_DATE, R.HCODE, R.TYPE_LPU, R.UNICOD, R.VDOKM, R.SER_POL, R.NUM_POL, R.OSSL, R.VID_OPL, R.DATE_B, R.DATE_E, R.DATE_O, R.CMPCODE, R.CMP_OGRN, R.CMP_NAME, R.REGIONS, R.AMBKART, R.NAME1, R.NAME2, R.NAME3, R.BORNYEAR, R.SEX, R.C_DOC, R.SER_DOC, R.NUM_DOC, R.SNILS, R.TIPNS, R.STATS, R.OGRN_RAB, R.KATGR, R.FAM1, R.IM1, R.OT1, R.DATV, R.UNICODE_F, R.COUNTRY, R.REG_GAI, R.A_RN, R.A_NAS, R.A_STREET, R.A_DOM, R.A_KORP, R.A_KV, R.KODADR, R.KODSTR, R.HCODE1, R.HCODE2, R.HCODE3, tfoms.BIRTHDAY
FROM R, tfoms
WHERE (((R.SER_POL)=[tfoms].[series]) AND ((R.NUM_POL)=[tfoms].[number]) AND ((R.NAME1)=[tfoms].[fam]) AND ((R.NAME2)=[tfoms].[im]) AND ((R.NAME3)=[tfoms].[ot]) AND ((R.BORNYEAR)=[tfoms].[BIRTHDAY]))
ORDER BY R.NAME1, R.NAME2, R.NAME3;

смысл данного запроса - отбираются записи в таблице "r" только те по которым есть соответствующие (сравнение по 6 полям) в таблице "tfoms"

а как сделать, чтобы наоборот - отбирались только те по которым нет соответствия (т.е. отброшенные записи в приведенном запросе)

Зарание спасибо.

  Ответить  
 
 автор: Гамлет   (17.10.2008 в 22:28)   личное сообщение
 
 

Есть мастер построения запроса - Find Unmatched Query Wizard. Может попоробывать через него. Не уверен что получиться для 6 полей. Сам такого не делал

  Ответить  
 
 автор: larin1069   (18.10.2008 в 18:10)   личное сообщение
 
 

Отвечаю сам - получилось так:

SELECT DISTINCTROW R.SER_POL, R.NUM_POL, R.CMP_NAME, R.NAME1, R.NAME2, R.NAME3, R.BORNYEAR
FROM R, tfoms
WHERE (((R.UNICOD) Not In (SELECT DISTINCTROW R.UNICOD
FROM R, tfoms
WHERE (((R.NAME1)=[tfoms].[fam]) AND ((R.NAME2)=[tfoms].[im]) AND ((R.NAME3)=[tfoms].[ot]) AND ((R.SER_POL)=[tfoms].[series]) AND ((R.NUM_POL)=[tfoms].[number]) AND ((R.BORNYEAR)=[tfoms].[BIRTHDAY])))));

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