私は学校で働いており、AD アカウントをまだ持っていない来週から始まるすべての生徒を表示するクエリを実行しようとしています (ページャー フィールドで ID 番号を使用して検索します)。これらのクエリを実行できるように SQL を Ad にリンクしましたが、問題はありませんでしたが、次を実行しても結果が得られません。
select *
from FutureStudents
where id not in (select * from OPENQUERY(ADSI, '
SELECT pager
FROM ''LDAP://OU=students,DC=stcatherines,DC=net,DC=au''
WHERE objectCategory = ''Person''
AND objectClass = ''user'' '
)
)
not in コマンドを実行すると、結果が 1 つ得られるはずですが、そうではありません。しかし、クエリを in (not in ではなく in) に変更すると、テーブル内にあるアカウントを持つすべての学生を取得できます。さらに、これらのクエリを実行すると同時に、結果を取得するために移動している AD のページャーを検索する簡単なクエリを実行しました。アカウントが学生 OU にある場合、結果が取得され、移動された場合私はしません。
だから私はかなり確信している ステートメントではない. 私は正しいステートメントを使用していますか、それとも真の結果を得るために何か別のことをしなければなりませんか?