2017-02-11 9 views
1

Я хочу перестроить этот SQL-запрос как запрос AX.Комплекс AX Query

Я пробовал его несколькими способами, но я не понимаю.

Я не совсем новичок в 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 или вы хотите написать х ++ код для создания запроса? В любом случае, вы начали создавать запрос в Dynamics и можете ли вы показать, что вы пробовали до сих пор? Это также может помочь, если вы можете дать краткое описание бизнес-примера, воссоздание этого запроса в Dynamics может быть не лучшим решением. –

ответ

0

Вам необходимо разобрать запрос и выполнить его в небольших кусках. Затем соедините все это, чтобы получить желаемый результат.

Существует два способа создания запроса в X ++.

  1. Создать запрос с использованием оператора выбора, например:

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

    Смотрите эту ссылку: Select statement syntax

  2. Создание запроса со структурой АОТ. Вы можете захотеть взглянуть на следующей ссылке:

    Create query in AOT by using X++

Смежные вопросы