2017-02-11 8 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 ++でクエリを作成する方法は2通りあります。

  1. たとえば、SELECT文を使用してクエリを作成します。Select statement syntax

  2. AOT構造でクエリを作成します。

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

    は、このリンクを参照してください。あなたは次のリンクを見てすることがあります:

    Create query in AOT by using X++