2016-11-17 70 views
0

我只是试图修改现有的查询来在一周内添加(SUM)总小时数,如果数据超过40则将数据推送到表。我是新手到SQL,我不知道在这一点上如何实现这个公式。作为一个方便的说明,我可以使用任何好的语法检查程序来帮助?这是我必须修改的。特定日期之间的总和

SELECT dbo_Associates.FirstName 
    , dbo_Associates.LastName 
    , dbo_Events.DATE 
    , Sum(dbo_Events.Amount) AS SumOfAmount 
FROM (
    dbo_Events INNER JOIN dbo_Associates 
     ON dbo_Events.AssociateId = dbo_Associates.Id 
    ) 
INNER JOIN dbo_Categories 
    ON dbo_Events.CategoryId = dbo_Categories.Id 
WHERE (
     (
      (dbo_Categories.NAME) <> "Sub-Contractor" 
      AND (dbo_Categories.NAME) <> "Invoice" 
      AND (dbo_Categories.NAME) <> "Receipt" 
      AND (dbo_Categories.NAME) <> "Equipment" 
      AND (dbo_Categories.NAME) <> "Meetings" 
      AND (dbo_Categories.NAME) <> "Comp Time" 
      AND (dbo_Categories.NAME) <> "Training" 
      AND (dbo_Categories.NAME) <> "Other" 
      AND (dbo_Categories.NAME) <> "Overnight Stay (each)" 
      ) 
     ) 
GROUP BY dbo_Associates.FirstName 
    , dbo_Associates.LastName 
    , dbo_Events.DATE 
    , dbo_Associates.Id 
HAVING (
     (
      (dbo_Events.DATE) >= #8/31/2016 # 
      AND (dbo_Events.DATE) <= #9/15/2016 # 
      ) 
     AND ((Sum(dbo_Events.Amount)) >= 11.25) 
     AND (
      (dbo_Associates.Id) <> 17 
      AND (dbo_Associates.Id) <> 40 
      AND (dbo_Associates.Id) <> 41 
      AND (dbo_Associates.Id) <> 44 
      AND (dbo_Associates.Id) <> 45 
      AND (dbo_Associates.Id) <> 47 
      ) 
     ) 
ORDER BY dbo_Associates.FirstName; 
+2

我强烈怀疑这是比您需要提供的更多*更复杂的查询来演示此问题。请简化它,以便它*只处理您遇到的问题。 –

+1

你正在使用什么数据库? – randominstanceOfLivingThing

回答

0

不管所有其他的东西你的查询是干什么的,你需要做的就是计算sum(Amount)在内部查询,而不是外部查询什么。该结构将是:

SELECT a.group_var, a.tot_amount, [other variables you need] 
FROM 
    (SELECT group_var, sum(amount) as tot_amount 
     FROM sourcetbl 
    GROUP BY group_var) as a 
INNER JOIN othertbl as b 
    ON a.group_var = b.group_var 
WHERE tot_amount > 40 
    and [whatever] = [whatever value] 

这是因为你不能使用WHERE你在同一个查询正在做一个计算标准,所以你必须有已经可以在何地使用计算的总和。您可以包含所需的许多联接和WHERE条件,但请记住,无论它们引用哪个表,最后所有WHERE条件都会结束。

相关问题