创建TSQL查询以生成报告
我正在根据数据库中存储的数据创建报告;只是有点粘在下一块上面 这是我的结构图 这份报告每周五发表一次。它从表中获取自上次报告以来最近7天内的所有记录 我需要添加到我的查询中的一部分是当前年度奖励价值总和超过75美元的get me记录 我有它拉我的记录的时间框架自上次报告,但需要包括其他的一块创建TSQL查询以生成报告,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在根据数据库中存储的数据创建报告;只是有点粘在下一块上面 这是我的结构图 这份报告每周五发表一次。它从表中获取自上次报告以来最近7天内的所有记录 我需要添加到我的查询中的一部分是当前年度奖励价值总和超过75美元的get me记录 我有它拉我的记录的时间框架自上次报告,但需要包括其他的一块 我如何才能做到这一点?为此,您需要在下一次的组查询之后添加 SELECT A,B,C, SUM(D) FROM TABLE GROUP BY A,B,C HAVING sum(awardValue) >
我如何才能做到这一点?为此,您需要在下一次的组查询之后添加
SELECT A,B,C, SUM(D)
FROM TABLE
GROUP BY A,B,C
HAVING sum(awardValue) > 75
假设您在计算金额时不关心奖励状态-
Select Main.*
from main
INNER JOIN(
SELECt EMPLOYEE,SUM(AWARDVALUE) SUM
FROM MAIN
WHERE YEAR(AWARDDATE) = YEAR(GetDate())
GROUP BY EMPLOYEE
HAVING SUM(AWARDVALUE)>75) EMPLIMIT
ON Main.EMPLOYEE = EMPLIMIT.EMPLOYEE
Where awardStatus = '1' AND awardDate BETWEEN GetDate() - 7 AND GetDate()
修改了查询,以使用结果和TaxIt列拉入总和
Select Main.*,EmployeeSum,
CASE WHEN EmployeeSum>75 THEN 'Yes' ELSE 'No' END AS TaxIt
from main
INNER JOIN(
SELECt EMPLOYEE,SUM(AWARDVALUE) EmployeeSum
FROM MAIN
WHERE YEAR(AWARDDATE) = YEAR(GetDate())
GROUP BY EMPLOYEE) EMPLIMIT
ON Main.EMPLOYEE = EMPLIMIT.EMPLOYEE
Where awardStatus = '1' AND awardDate BETWEEN GetDate() - 7 AND GetDate()
sumawardValue基于什么分组?员工?是的,员工栏-抱歉忘了加上这似乎是在工作-重复的员工栏必须在最后吗?这个表已经包含了这个,但是如果需要的话,我会留下iTunes更新的查询来获得你需要的。同时也对你的日期比较做了一些调整。太棒了,我真的很感激:我知道这是原来的帖子,但我意识到我犯了一个错误。我需要像现在这样从WHERE子句中提取所有数据,求和部分只需要是表中的另一列。当此报告发送到工资单时,如果金额大于75,我们需要表明需要对其征税。因此,如果我们可以将总和作为一列相加,然后如果总和大于75,则添加一个名为TaxIt的列,该列的值为“是”,该年所有小于75的值均为“否”