1

テーブルの行を表示するグリッドがあります。現在、次の 2 つの要件があります。

  1. 「時間」フィールドに値を含む行のみを表示します。「時」フィールドは配列型です。
  2. プロジェクトとそのサブプロジェクトの行を表示する

私の問題は次のとおりです。要件 1 を満たすには、QueryBuildDataSource を使用して配列値にアクセスできないため、データソースで select ステートメントを使用する必要があります (これはDynamics AXの既知の制限です)。

しかし、要件 2 を満たすには、2 つの「既存の結合」が必要ですが、これは Dynamics AX では不可能です。たとえば、次のコードは機能しません。

select from table where
exists join tableChild where projectId = MyProjectId OR
exists join tableChild where parentProjectId = MyProjectId

誰かがこの問題にどのように対処しますか?

4

2 に答える 2

2

あなたが提供したselectステートメントの例から、2つの存在する結合が必要ではないかもしれません。where句の2つの可能な条件の「OR」を使用した単一の存在結合で十分な場合があります。もちろん、結合が論理的に意味をなすには、テーブルとtableChildの間に何らかの関係が必要です。

select from table
exists join tableChild
where (tableChild.projectId = MyProjectId || tableChild.parentProjectId = MyProjectId)
于 2012-02-03T17:37:55.213 に答える
0

fieldID2Ext 関数を使用して、フィールド ID を提供するクエリ範囲で配列値を使用できます。

ビューを構築し、その上に条件を適用できます。

于 2010-08-17T16:01:05.827 に答える