2017-10-02 35 views
0

에 필터가 나는는 역학 AOT 쿼리

SELECT 
TT.RECID, 
TT.TRANSDATE, 
TT.DATAAREAID, 
TT.SOURCERECID, 
TT.SOURCEBASEAMOUNTCUR, 
TT.SOURCETAXAMOUNTCUR, 
TTGJAERIVA.TAXTRANSRELATIONSHIP, 
TTGJAERIVA.GENERALJOURNALACCOUNTENTRY, 
TTGJAERIVA.LEDGERDIMENSION, 
GJAERIVA.TEXT, 
GJAERIVA.LEDGERDIMENSION AS LEDGERDIMENSIONGAE, 
GJAERIVA.POSTINGTYPE 
FROM TAXTRANS TT 
INNER MERGE JOIN TAXTRANSGENERALJOURNALACCOUNTENTRY TTGJAERIVA ON TTGJAERIVA.TAXTRANS = TT.RECID 
INNER MERGE JOIN GENERALJOURNALACCOUNTENTRY GJAERIVA ON TTGJAERIVA.GENERALJOURNALACCOUNTENTRY = GJAERIVA.RECID 
AND GJAERIVA.POSTINGTYPE IN(14,236,71,41) 
WHERE 
(TT.TAXORIGIN <> 11 AND TT.TRANSDATE BETWEEN '2016-06-30' AND '2017-06-30') OR (TT.TAXORIGIN = 11 AND TT.TRANSDATE BETWEEN '2017-06-01' AND '2017-06-30') 

내 모든 쿼리를 잘 WHERE 절을 제외하다이 SQL 쿼리를 가지고 사용은 어떻게 적용 할 수있는 쿼리 AOT를 사용하여 절?

article에서는 where 절을 적용하지만 어떻게 수행하는지 설명하지 않습니다.

현재 쿼리

enter image description here

참고 : 뭔가가 내 질문에 이상이있는 경우 나 가 무엇인지 알려 주시기 바랍니다. 감사합니다

+1

당신이 링크 한 기사는 ("어떻게 시작 할 수 있습니까?"로 시작하는 단락에서 시작하여) 조금 설명하지만,이 기술을 일반적으로 "쿼리 표현식"이라고 부릅니다. 그것들은 [here] (https://msdn.microsoft.com/de-de/library/aa893981.aspx) 문서가 있지만 [Axaptapedia article] (http://www.axaptapedia.com/Expressions_in_query_ranges)을 선호합니다. –

+0

링크 된 Axaptapedia 기사의 정보는 X ++에서 쿼리를 만드는 경우 도움이됩니다. AOT 조회 오브젝트를 사용하려는 동일한 코드에서 선언 한 후에 범위를 AOT 조회 오브젝트에 추가하는 경우이를 사용할 수 있습니다. AOT의 모든 작업을 수행해야하는 경우 OR 절을 만족시키기 위해 TaxTrans 테이블의 두 버퍼를 조인하기 위해 쿼리의 구조를 변경해야합니다. – SShaheen

답변

1

데이터 소스 TaxTrans_1에 새 범위를 추가해야합니다. RecId 필드를 사용할 수 있습니다. 중요하지 않습니다. 그럼 당신은이 범위에서 다음 값을 사용할 수 있습니다

((TaxOrigin != 11) && (TransDate >= 30\06\2016) && (TransDate <= 30\06\2017)) || ((TaxOrigin == 11) && (TransDate >= 02\06\2017) && (TransDate <= 30\06\2017)) 

은 자세한 내용과 예제 Axaptapedia를 참조하십시오.