Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выборка из двух таблиц [D7, Access]


Jet ©   (2004-10-21 12:50:00) 

Есть такая проблема:
Имеются две таблицы: Person, Food
Примерная структура:

Person:
--
Family         Name         ID
Иванов         Иван         1
Петров         Сергей       2
Сидоров        Петр         3
Федоров        Павел        4
Казаков        Денис        5

Food:
Kind           Person_id
Мясо           1
Хлеб           2
Овощи          
Вода           4
Витамины      

Из этих таблиц нужно выбрать те записи, у которых нет совпадения
Id = Person_id

т.е. в данном примере должно получится это:
--
Сидоров Петр
Казаков Денис
--
т.к. у них нет Person_id = Id

В запросе примерно так:
'Выбрать всех оставшихся без этих записей (select * from Person, Food where Id = Person_Id)'

Помогите пожалуйста составить запрос.


Jet   (2004-10-21 13:21:00) [1]

Таблицы взяты из ума. В реале таких нет..)))


Ega23   (2004-10-21 13:12:00) [2]

Это World Food Program


Johnmen   (2004-10-21 13:06:00) [3]

>Nikolay M. ©   (21.10.04 13:01) [2]

Это БД тюремного изолятора :)))


Nikolay M.   (2004-10-21 13:01:00) [4]

Еще можно
SELECT * FROM T1
WHERE NOT EXISTS (SELECT 1 FROM T2 WHERE T1.ID = T2.Person_id).
Что будет быстрее - а аксесс его знает.

ПС.
Достойная еда:
Хлеб
Вода
Витамины
Федорову на воде хуже всех. Интересно, кому достанутся все витамины... :)


Johnmen   (2004-10-21 12:56:00) [5]

SELECT * FROM T1
LEFT JOIN T2 ON T1.Id = T2.Person_Id
WHERE T2.Person_Id IS NULL

Правда для аксеса м.б. по-другому...


Наверх

Титульная страница Поиск, карта сайта Написать письмо