各 entryForm 行の名前を確認し、この名前が .siteid と entryForm.siteid が一致する SiteContacts のリストに含まれているかどうかを確認する必要があります。(サイトが一致しない entryForm 行をチェックしても意味がありません。) entryForms が一致しないままにしておく必要があります。
entryForm には 1 つの siteContact があり、siteContact には複数の entryForm を含めることができます。
select * from siteContacts, entryForm
where siteContacts.siteid=entryForm.siteid
and entryForm.name not like concat('%',siteContacts.lastname, '%')
siteContacts は次のようなテーブルです。
id | lastname | siteid
===============================
7 | Cooper | 2
8 | Hofstadter | 2
9 | Wolowitz | 3
10 | Koothrappali | 3
entryForms は次のようなテーブルです。
id | name | siteid
==================================
1 | Sheldon Cooper | 2
2 | L. Hofstadter | 2
3 | Penny | 3
4 | Wolowitz | 3
5 | Dr Hofstadter | 2
結果は Penny になるはずです:
3 | Penny | 3
しかし、そうではありません....