1

我有一个显示表格中的线条的网格。现在,我有这两个要求:

  1. 仅显示包含“小时”字段中的值的行。“小时”字段是一个数组类型。
  2. 显示项目及其子项目中的线条

我的问题是:为了满足要求 #1,我需要在我的数据源中使用 select 语句,因为我无法使用 QueryBuildDataSource 访问数组值(这是 Dynamics AX 中的一个已知限制)。

但要满足要求#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 语句示例中,似乎不需要两个存在的连接。对于 where 子句中的两个可能条件,使用“OR”的单个存在连接可能就足够了,当然,您仍然应该在 table 和 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 回答