2017-02-11 278 views
1

我想重建这个SQL查询作为AX查询。复杂AX查询

我尝试了几种方法,但我不明白。

我不是AX全新的查询,但我只有一些简单的查询经验,而不是这种复杂的SQL查询。

SELECT * FROM ( SELECT DH.[RECID]       AS RECID_DIMENSIONHIERARCHY 
         ,DH.[NAME]       AS NAME__DIMENSIONHIERARCHY 
         ,DH.[DESCRIPTION]      AS DESC__DIMENSIONHIERARCHY 
         ,DH.[PARTITION]      AS PARTITION_DIMENSIONHIERARCHY 
         ,DL.[DIMENSIONATTRIBUTE]    AS RECID_DIMENSIONATTRIBUTE 
         ,DA.[NAME]       AS NAME_DIMENSIONATTRIBUTE   
         ,DN.[RECID]       AS RECID_DIMENSIONCONSTRAINTNODE 
         ,DNC.[RECID]       AS RECID_DIMENSIONCONSTRAINTNODECRITERIA 
         ,DNC.[RANGETO]      AS #Owner 
         ,DNCR.[WILDCARDSTRING]    AS #Agreement            
      FROM (SELECT * FROM [dbo].[DIMENSIONHIERARCHY]  
          WHERE [STRUCTURETYPE] = 1 AND [NAME] LIKE 'AG-OW%' 
       )                   AS DH 
     INNER JOIN [dbo].[DIMENSIONHIERARCHYLEVEL] AS DL 
        ON DH.[RECID]  = DL.[DIMENSIONHIERARCHY] 
       AND DH.[PARTITION]  = DL.[PARTITION]  
     INNER JOIN [dbo].[DIMENSIONATTRIBUTE] AS DA 
        ON DL.[DIMENSIONATTRIBUTE]  = DA.[RECID] 
       AND DL.[PARTITION]       = DA.[PARTITION]  
     INNER JOIN [dbo].[DIMENSIONCONSTRAINTNODE] AS DN 
        ON DL.[RECID]       = DN.[DIMENSIONHIERARCHYLEVEL] 
       AND DL.[PARTITION]       = DN.[PARTITION] 
     INNER JOIN [dbo].[DIMENSIONCONSTRAINTNODECRITERIA]   AS DNC 
        ON DN.[RECID]       = DNC.[DIMENSIONCONSTRAINTNODE] 
       AND DN.[PARTITION]       = DNC.[PARTITION] 
     INNER JOIN [dbo].[DIMENSIONCONSTRAINTNODECRITERIA] AS DNCR 
        ON DN.[PARENTCONSTRAINTNODE]   = DNCR.[DIMENSIONCONSTRAINTNODE] 
       AND DN.[PARTITION]       = DNCR.[PARTITION]       
       ) AS Sub 
+1

你想在AOT创建一个实际的查询对象,或做你想要写X ++代码来创建查询?无论哪种情况,您是否开始在Dynamics中创建查询,并且可以显示迄今为止尝试的内容?如果您可以对业务案例进行简短描述,那么也可能有所帮助,但在Dynamics中重新创建此查询可能不是最佳解决方案。 –

回答

0

您需要细分您的查询并以小块实现它。然后将其全部组合以获得期望的结果。

有两种方法可以在X ++中创建查询。

  1. 使用select语句,例如创建查询:

    Select * from HcmWorker join * from DirPerson where DirPerson.RecId == HcmWorker.Person

    请参阅此链接:Select statement syntax

  2. 创建AOT结构查询。你可能想看看下面的链接:

    Create query in AOT by using X++