2011-03-14 3 views
0

私は複雑なクエリを作成したいと思いますが、fetchXMLやqueryexpressionというのは気にしません:-)LinkEntity以外のリンクエンティティの属性をフィルタリングするにはどうすればよいですか?

NOT INを使ってクエリを作成したい)構造体、またはそれと同等のLEFT OUTER JOIN WHERE IS NULLを使用します。

クエリは、このようなものです:

SELECT t1.* 
FROM table1 t1 
LEFT OUTER JOIN table2 t2 ON t1.xid = t2.id 
WHERE t2.id IS NULL 

(例のクエリ構造:http://blog.sqlauthority.com/2008/04/22/sql-server-better-performance-left-join-or-not-in/

あなたが見ることができるように、トリッキーなビットは、WHERE句で「t2.id」であります。どのツールやドキュメントを使用してもこの値をフィルタリングする方法はありませんでした。それも可能ですか?

答えて

1

これは、CRMクエリでは不可能なことの1つです。 (必ずしも実行可能ではない)の選択肢があります。

  • は(ケースNotInには、実際にサポートされています。利用可能なすべてのConditionOperator値が本当にCrmServiceで扱うことができない)ConditionOperator.NotInを使用して、T2、クエリt1から関連する値を取得します。
  • 両方のテーブルを完全に取得し、LINQなどを使用してメモリに結合します。
  • 実際にSQLを介して結合します(もちろんデータベースに直接アクセスする必要があります)。IDだけを返し、CrmService経由で結果を取得します。
+0

ありがとうございます、そして、私は、CRMクエリが愚かであると言うかもしれません:( – Tominator

関連する問題