视图中的 Dynamics AX 2012 子查询

Dynamics AX 2012 Subquery in a View

A​​X 允许您输入基本 SQL 到视图范围。例如,在 AOT 视图的范围内,对于匹配值,您可以输入 (StatRepInterval.Name == 'Weekly')。这很好用。

但是,我需要使用子查询对视图执行更高级的查找。谁能建议一种方法来做到这一点?

这是我想使用的,但我收到错误消息:"Query extended range failure: Syntax error near 34."

(StatRepInterval.Name == (SELECT 首先从 StatRepInterval StatRepInterval.PrintDirection == 1 ORDER BY StatRepInterval.Name DESC))

我尝试了很多不同的子查询变体,从直接的 T-SQL 到 X++ SQL,但似乎没有任何效果。

感谢您的帮助。

我找到了一种方法来做到这一点。它不是很漂亮,如果其他人有更优雅的解决方案,我将暂时不回答这个问题。

  1. 创建一个源视图,其中包含我希望 return 的所有字段,以及包含我的子查询结果的计算字段。

  2. 创建第二个视图,将第一个视图用作数据源,并应用所有必要的范围。

效果很好。

如果有大量数据表,效率可能会很低,但这是在 AX 中相对较小的部分。

查询表达式不支持子查询。

如您所见,这可以通过使用具有内部或外部连接的附加数据源来解决。

参见 the spec and Axaptapedida 查询表达式。