【发布时间】:2013-04-04 22:42:20
【问题描述】:
我发现我想要修改这个查询以获得额外的列,并将最近 3 个月找到的金额相加。我想为此制作一份水晶报告。 在下面查询。
SELECT
dbo.[@EIM_PROCESS_DATA].U_Tax_year,
dbo.[@EIM_PROCESS_DATA].U_Employee_ID,
SUM(dbo.[@EIM_PROCESS_DATA].U_Amount) AS PAYE,
dbo.OADM.CompnyName,
dbo.OADM.CompnyAddr,
dbo.OADM.TaxIdNum,
dbo.OHEM.lastName + ', ' + ISNULL(dbo.OHEM.middleName, '') + ' ' +
ISNULL(dbo.OHEM.firstName, '') AS EmployeeName, dbo.OHEM.govID
FROM dbo.[@EIM_PROCESS_DATA]
INNER JOIN dbo.OHEM ON dbo.[@EIM_PROCESS_DATA].U_Employee_ID
= dbo.OHEM.empID CROSS JOIN dbo.OADM
WHERE (dbo.[@EIM_PROCESS_DATA].U_PD_code = 'SYS033')
GROUP BY
dbo.[@EIM_PROCESS_DATA].U_Tax_year,
dbo.[@EIM_PROCESS_DATA].U_Employee_ID,
dbo.OADM.CompnyName,
dbo.OADM.CompnyAddr,
dbo.OADM.TaxIdNum,
dbo.OHEM.lastName,
dbo.OHEM.firstName,
dbo.OHEM.middleName,
dbo.OHEM.govID
表OHEM 包含一个名为U_Process_month 的字母数字字段,其中包含从一月到十二月的字符。由于查询如上,SUM(dbo.[@EIM_PROCESS_DATA].U_Amount) 给出了所有 PAYE 金额的总数,ie. U_PD_code = 'SYS033'。
我想要一个根据所选年份和月份将过去 3 个月 (PAYE) 相加的查询。
我还想检索和额外的列,SUM(dbo.[@EIM_PROCESS_DATA].U_Amount) as TAXABLEPAY where (dbo.[@EIM_PROCESS_DATA].U_PD_code = 'SYS034')。
我如何实现这一目标?任何帮助表示赞赏。
【问题讨论】:
-
你能提供一些样本数据和他们的预期结果吗?
标签: sql sql-server-2008 crystal-reports-8.5