Сиротские Master-записи

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: David G. Wachtel

Как с помощью SQL найти записи таблицы, которых нет в другой таблице?

Вот пример:

with PeopleHiddenForm.PersonQuery.SQL do begin

Add(‘Select P.Last, P.First, P.Middle, P.»Suffix», P.KeyNo, COUNT(PersMemL.PersonKeyNo)’);

Add(‘From Person P Left Outer Join ‘);

Add(‘ PersMemL PersMemL’);

Add(‘On ((P.KeyNo = PersMemL.PersonKeyNo))’);

Add(‘Group By P.Last, P.First, P.Middle, P.Suffix, P.KeyNo’);

Add(‘Having ((Count(PersmemL.PersonKeyNo) = 0))’);

Данный код позволяет связаться с таблицей (PersMemL), содержащей количество ключей персональной записи и запись членства. Запрос возвращает имена персон, которые не имеют записей членства.

На практике этот способ оказывается очень эффективным, по крайней мере, с локальным SQL в таблицах Paradox.

{/codecitation}

Добавить комментарий