Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server ax 2012-直接SQL查询替代方案_Sql Server_Reporting Services_Axapta_Dynamics Ax 2012 R3 - Fatal编程技术网

Sql server ax 2012-直接SQL查询替代方案

Sql server ax 2012-直接SQL查询替代方案,sql-server,reporting-services,axapta,dynamics-ax-2012-r3,Sql Server,Reporting Services,Axapta,Dynamics Ax 2012 R3,我使用直接SQL查询作为我的SSRS报告的数据源: SELECT emp.EmployeeNumber, FirstName, LastName, MiddleName , amts.AmountCode, amts.amt, amts.AmountType from EmployeeMaster emp LEFT OUTER JOIN ( SELECT 'Earning' as AmountType, EmployeeNumber, EarningCode as A

我使用直接SQL查询作为我的SSRS报告的数据源:

SELECT 
    emp.EmployeeNumber, FirstName, LastName, MiddleName
    , amts.AmountCode, amts.amt, amts.AmountType
from EmployeeMaster emp
LEFT OUTER JOIN 
(
    SELECT 'Earning' as AmountType, EmployeeNumber, EarningCode as AmountCode
            , SUM(Amount) AS amt 
            FROM EmployeeEarnings GROUP BY EmployeeNumber, EarningCode
    UNION ALL
    SELECT 'Deduction', EmployeeID, DeductionID
            , SUM(Amount) AS amt FROM EmployeeDeduction GROUP BY EmployeeID, DeductionId
) AS amts
ON emp.EmployeeNumber = amts.EmployeeNumber

此查询收集按员工编号、收入类型和扣除类型分组的每个员工的所有收入和扣除额。我不确定是否可以在x++或AOT查询中执行此操作。我想知道这样做是否可以,或者是否有其他方法可以生成类似此查询的结果?我正在使用RDP类。

AX中不支持嵌套联接。 但是,您可以创建
员工收入
员工教育
的联合视图。 然后,您可以选择
EmployeeMaster
并与视图进行外部联接,以获得相同的结果


您的SQL是不正确的,因为它不考虑“代码> DATAARID < /COD>和<代码>分区< /代码> .< /P>

嵌套连接不支持在AX中。 但是,您可以创建

员工收入
员工教育
的联合视图。 然后,您可以选择
EmployeeMaster
并与视图进行外部联接,以获得相同的结果


您的SQL是不正确的,因为它没有考虑“代码> DATAARID < /COD>和<代码>分区 .

< P>是的,在AX中不支持嵌套连接。是的,你可以看到。您可以使用
ResultSet
类通过
SQLconnection
直接查询
sqlStatement
的结果

不久前,我创建了一个包装器类。仅对俄文发表评论。很抱歉要导入到ax2012中的项目

它通过直接SQL查询简化了工作。如果你知道你在做什么,试试看


和,是的,您的SQL是不正确的,因为它不考虑<代码> DATAARID < /COD>和<代码>分区< /代码>。另外,SQL查询忽略Axapta XDS(记录级安全性)和Axapta安全子系统。我认为AOT查询更合适。

是的,AX不支持嵌套联接。是的,你可以看到。您可以使用
ResultSet
类通过
SQLconnection
直接查询
sqlStatement
的结果

不久前,我创建了一个包装器类。仅对俄文发表评论。很抱歉要导入到ax2012中的项目

它通过直接SQL查询简化了工作。如果你知道你在做什么,试试看

和,是的,您的SQL是不正确的,因为它不考虑<代码> DATAARID < /COD>和<代码>分区< /代码>。另外,SQL查询忽略Axapta XDS(记录级安全性)和Axapta安全子系统。我认为AOT查询更合适